您的位置:首页 > 数据库

SQL Server 存储过程遇到“表 '#TT' 没有标识属性。无法执行 SET 操作”错误

2016-07-28 09:55 423 查看
创建临时表,往临时表插入数据的时候报的错误。



一开始提示没有打开主键,后来打开主键就提示上述错误异常。

从网上查找资料没有找到,然后又到群里问各位大牛,一位大牛告诉我是没有设置主键。

我又仔细看看提示,恍然大悟,我就给临时设置了主键。

没有主键之前的代码:

CREATE TABLE #TT(
CourseId INT ,
UserId INT,
ClassId INT
)
INSERT
INTO
#TT
( CourseId, UserId, ClassId )
SELECT
CourseId,
UserId ,
ClassId
FROM dbo.T_MyOrder


执行的话就会报“表 '#TT' 没有标识属性。无法执行 SET 操作”错误

修改之后代码:

CREATE TABLE #TT(
CourseId INT PRIMARY KEY ,
UserId INT,
ClassId INT
)
INSERT
INTO
#TT
( CourseId, UserId, ClassId )
SELECT
CourseId,
UserId ,
ClassId
FROM dbo.T_MyOrder


不报错了。

然后我又把PRIMARY KEY这个关键字去掉了,SqlServer又不报错了。我现在也不知道咋回事了!

茫然中…………希望有人能给我个建议

--2016.08.18 17:29

最近又报错了,然后我又在插入临时表之前加上一句话

SET IDENTITY_INSERT #Course ON  --这一句代码是我刚加的
INSERT
INTO
#Course(CourseId)
SELECT
CourseId
FROM
#TT
WHERE
CourseId > 0


这样又没事了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: