而不是在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'); \"")
答案 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
变得更容易。