微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。