2012-04-06 12 views
0

sqlite3でテーブルを作成して削除するのではなく、セッションを終了するときに破棄される一時テーブルを作成したいと思います。一時テーブルがセミコロンによって破壊されないように、以下のコマンドを組み合わせることは可能ですか?複数のシェルコマンドを組み合わせてsqlite3にテンポラリテーブルを作成する

set databaseName to "test.db" 
set tableName to "tempTable" 
do shell script ("mkdir -p ~/Documents/Databases/ ; sqlite3 ~/Documents/Databases/" & databaseName & " \"create table if not exists " & tableName & "(First, Last); \"") 
do shell script ("sqlite3 ~/Documents/Databases/" & databaseName & " \"insert into " & tableName & " (First, Last) values('John', 'Doe'); \"") 

このバージョンはどのように実装しますか?

set databaseName to "test.db" 
set tableName to "tempTable" 
do shell script ("mkdir -p ~/Documents/Databases/ ; sqlite3 ~/Documents/Databases/" & databaseName & " \"create temp table " & tableName & "(First, Last); \"") 
do shell script ("sqlite3 ~/Documents/Databases/" & databaseName & " \"insert into " & tableName & " (First, Last) values('John', 'Doe'); \"") 

答えて

1

SQLiteでは、セミコロン区切りの文そのものを受け入れます。

do shell script ("sqlite3 ~/Documents/Databases/" & databaseName & " \" & ¬ 
    "create temp table " & tableName & " (First, Last); " & ¬ 
    "insert into " & tableName & " (First, Last) values('John', 'Doe'); " & ¬ 
    " -- other stuff here --" & ¬ 
    "select * from " & tableName & ";\"") 

は、いくつかの点で、それはしかし、単一の巨大なdo shell scriptを構築するよりも、おそらくここに文書の別々のスクリプトとしてそれを書いたりすることが容易になります。

+0

完璧、ありがとう。 – adayzdone

関連する問題