首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您能创建一个不是存储过程的通用脚本吗?

问您能创建一个不是存储过程的通用脚本吗?
EN

Stack Overflow用户
提问于 2009-10-02 10:51:38
回答 2查看 192关注 0票数 0

我有一些使用SQL Server2005的经验,并且编写了许多脚本,这些脚本只有一个BEGIN语句和一个END语句。我可以使用诸如循环、游标等逻辑。但是,如果不创建存储过程,我似乎无法在MySQL中做到这一点。我知道MySQL中的存储过程是新的,可能没有SQL Server那么健壮,但是有没有办法创建一个我只想运行一次的通用脚本,这样我就不必回到我的数据库中,然后删除所有这些存储的过程?

为了澄清一点,我想要做的是创建一个脚本,该脚本将创建多个talbe,例如

代码语言:javascript
复制
BEGIN 
   CREATE TABLE foo(id INT, data VARCHAR(100)); 
   CREATE TABLE test(t_id INT, data VARCHAR(50)); 
END;

这在MySQL中是可能的吗?

EN

回答 2

Stack Overflow用户

发布于 2009-10-02 11:16:04

您不需要在MySQL中使用begin和end关键字,以下内容将起作用:

代码语言:javascript
复制
CREATE TABLE foo(id INT, data VARCHAR(100));
CREATE TABLE test(t_id INT, data VARCHAR(50));

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

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS foo(id INT, data VARCHAR(100));
CREATE TABLE IF NOT EXISTS test(t_id INT, data VARCHAR(50));
票数 1
EN

Stack Overflow用户

发布于 2009-10-02 11:35:09

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1508859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档