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

创建临时表,往临时表插入数据的时候报的错误。

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

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

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

没有主键之前的代码:

复制代码
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
复制代码

这样又没事了

 

posted @   大稳·杨  阅读(8302)  评论(2编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示