SQL Server 很奇怪的问题(2000/2005都有此问题):
MM_BJJHMX表有主键自增列ID,另外还需要一列“序号”。
执行下列语句
SELECT IDENTITY(INT,1,1) XH,A.* INTO #TB
FROM MM_BJJHMX A
WHERE BJJHID = 4
ORDER BY A.BJBM,A.BJMC;
SELECT * FROM #TB
DROP TABLE #TB;
总是报错:
消息 8108,级别 16,状态 1,第 1 行
无法使用 SELECT INTO 语句向表 '#TB' 中添加标识列,该表中已有继承了标识属性的列 'ID'。
但是下列语句就正常:
SELECT IDENTITY(INT,1,1) XH,A.* INTO #TB
FROM MM_BJJHMX A LEFT JOIN MM_BJ ON MM_BJ.ID=A.BJID
WHERE BJJHID = 4
ORDER BY A.BJBM,A.BJMC;
SELECT * FROM #TB
DROP TABLE #TB;
也就是多关联了一个表,显示的列都是一样,但前者就不行,后者就正常。 真奇怪,有知道的朋友帮忙解释下,但也不失为一个解决办法。