问题描述
我一直在尝试使用具有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 (将#修改为@)