如何解决SQL Server-对准备好的语句中的多个语句使用GO
我一直在尝试使用具有2条sql语句的sql Server执行一条准备好的语句,其中一条用于创建表,另一条用于更新created
列的默认值。
我基本上已经从MSSMS复制了创建代码并对其进行了字符串化处理。
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 举报,一经查实,本站将立刻删除。