开发者社区> 问答> 正文

Alter Table在一个脚本中添加列并检查约束-在约束上获取无效的列名

我想将此脚本作为另一个更大的脚本的一部分来运行。

我不想添加GO语句,因为定义的变量不会随身携带。

作为单独的语句,它们可以工作,但是当整体运行时,会出现错误:

消息207,级别16,状态1,第4行无效的列名称“ ECLIPSECapable”。

ALTER TABLE [dbo].[Providers]
ADD [ECLIPSECapable] [char](1) NULL;

ALTER TABLE [dbo].[Providers]  WITH CHECK ADD  CONSTRAINT [ICProvidersECLIPSECapable] CHECK  (([ECLIPSECapable]='N' OR [ECLIPSECapable]='Y'))

ALTER TABLE [dbo].[Providers] CHECK CONSTRAINT [ICProvidersECLIPSECapable]

展开
收起
祖安文状元 2020-01-03 16:26:02 704 0
1 条回答
写回答
取消 提交回答
  • 使用动态SQL将脚本分成多个批次:

    exec (' ALTER TABLE [dbo].[Providers] ADD [ECLIPSECapable] char NULL; ');

    exec (' ALTER TABLE [dbo].[Providers] WITH CHECK ADD CONSTRAINT [ICProvidersECLIPSECapable] CHECK (([ECLIPSECapable]=''N'' OR [ECLIPSECapable]=''Y'')) ');

    exec (' ALTER TABLE [dbo].[Providers] CHECK CONSTRAINT [ICProvidersECLIPSECapable] ');

    2020-01-03 16:26:13
    赞同 展开评论 打赏
问答分类:
Go
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载