首页 > 解决方案 > 为每一行创建具有一个特定值的新列,SQL Server,应该很容易

问题描述

我正在尝试在从表中选择视图列的同一语句中为每一行创建一个具有一个特定值的新列。为什么这不起作用?

ALTER TABLE PMEBUILDING
ADD TABLEID int NOT NULL
CONSTRAINT test DEFAULT 40111
WITH VALUES

SELECT OBJECTID, BUILDINGID, RECID, TABLEID
FROM PMEBUILDING

它说:

Msg 2705, Level 16, State 4, Line 1 每个表中的列名必须是唯一的。多次指定表“PMEBUILDING”中的列名“TABLEID”。

标签: sqlsql-serversql-server-2014

解决方案


您已经在表中拥有该列。

尝试这个:

alter table PMEBUILDING
drop constraint test;

alter table PMEBUILDING
drop column TABLEID

alter table PMEBUILDING
ADD TABLEID int NOT NULL
CONSTRAINT test DEFAULT 40111
WITH VALUES

SELECT OBJECTID, BUILDINGID, RECID, TABLEID
FROM PMEBUILDING

推荐阅读