SQL Server-对准备好的语句中的多个语句使用GO

问题描述

我一直在尝试使用具有2条sql语句的sql Server执行一条准备好的语句,其中一条用于创建表,另一条用于更新created列的认值。

我基本上已经从MSSMS复制了创建代码并对其进行了字符串化处理。

这是我的sql@name是要创建的数据库名称

declare @q varchar(max);
set @q=CONCAT('CREATE TABLE ',@name,' (','[id] [bigint] IDENTITY(1,1) NOT NULL,','[created] [datetime] NULL,'CONSTRAINT [PK_','] PRIMARY KEY CLUSTERED','(','[id] ASC',')WITH (PAD_INDEX = OFF,STATISTICS_norECOmpuTE = OFF,IGnorE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]',') ON [PRIMARY];','GO;','ALTER TABLE ',' ADD  CONSTRAINT [DF_','_created]  DEFAULT (getdate()) FOR [created];','GO;');
exec(@q);

这是在告诉我,尽管有语句中断分号,但GO语句的语法仍然错误

在这种情况下,准备好的语句中是否有2条语句?

我应该用其他方式包装它们吗?

顺便说一句:将GO放在任何Google搜索中,就会得到一千种我从未听说过的Gosql语言的结果。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)