SQL Server 2012中 - 查询工作执行一对一,但不在一个组中
问题描述:
我一直在尝试这两个查询执行起来:SQL Server 2012中 - 查询工作执行一对一,但不在一个组中
ALTER TABLE afm.owned_properties_rpt_table
ALTER COLUMN bl_id CHAR(8) NOT NULL;
ALTER TABLE afm.owned_properties_rpt_table
ADD CONSTRAINT owned_properties_rpt_table_PK PRIMARY KEY (bl_id);
但我发现了这个错误:
Mens. 8111, Nivel 16, Estado 1, Línea 3
Cannot define PRIMARY KEY constraint on nullable column in table 'owned_properties_rpt_table'.Mens. 1750, Nivel 16, Estado 0, Línea 3
Could not create constraint. See previous errors.
看来不知何故,第二行在第一行完成之前正在执行。
我尝试了通过去更改分号,使用开始事务/提交事务结构,并创建一个辅助列,我在bl_id中复制数据,然后删除旧列,所有这些都没有成功。
SQL脚本需要在客户端的服务器上执行(我无法介入),因此划分代码不是一种选择。
如果我缺少一些基本的东西,我很抱歉,我也在几个小时内搜索了同样的问题,但没有成功。
感谢您的帮助。
答
试试这个
ALTER TABLE afm.owned_properties_rpt_table ALTER COLUMN bl_id CHAR(8) NOT NULL default 'sometest';
GO
ALTER TABLE afm.owned_properties_rpt_table ADD CONSTRAINT owned_properties_rpt_table_PK PRIMARY KEY (bl_id);
PK不能为空,,添加默认的bl_id列。 'ALTER TABLE afm.owned_properties_rpt_table ALTER COLUMN bl_id CHAR(8)NOT NULL DEFAULT'ABC';' – Hiten004