你能创建一个非存储过程的通用脚本吗?

时间:2009-10-02 10:51:38

标签: mysql database

我对SQL Server 2005有一些经验,并编写了许多只有BEGIN语句和END的脚本。我可以使用诸如循环,游标等逻辑。但是,如果不创建存储过程,我似乎无法在MySQL中执行此操作。我知道MySQL中的存储过程是新的,可能不像SQL Server那样强大,但无论如何只是创建一个通用脚本,我知道我只想运行一次,所以我不必回到我的数据库并在以后删除所有这些存储过程?

澄清一点我要做的是创建一个可以创建多个talbes的脚本,例如

BEGIN 
   CREATE TABLE foo(id INT, data VARCHAR(100)); 
   CREATE TABLE test(t_id INT, data VARCHAR(50)); 
END;

这在MySQL中是否可行?

2 个答案:

答案 0 :(得分:1)

您在MySQL中不需要beginend个关键字,以下内容适用:

CREATE TABLE foo(id INT, data VARCHAR(100));
CREATE TABLE test(t_id INT, data VARCHAR(50));

您还可以使用if not exists子句确保在表已存在时不会出错:

CREATE TABLE IF NOT EXISTS foo(id INT, data VARCHAR(100));
CREATE TABLE IF NOT EXISTS test(t_id INT, data VARCHAR(50));

答案 1 :(得分:0)

抱歉,我明白了。我试图在顶部的通用sql创建器中运行脚本,而不是转到File-> New Script选项卡并尝试在那里运行脚本。谢谢你的帮助