结合多个shell命令在sqlite3中创建临时表

时间:2012-04-06 16:15:48

标签: shell sqlite applescript

而不是在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 个答案:

答案 0 :(得分: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变得更容易。

相关问题