SQL Server 存储过程遇到“表 '#TT' 没有标识属性。无法执行 SET 操作”错误
2016-07-28 09:55
423 查看
创建临时表,往临时表插入数据的时候报的错误。
![](https://images2015.cnblogs.com/blog/887103/201607/887103-20160728094705638-54518966.png)
一开始提示没有打开主键,后来打开主键就提示上述错误异常。
从网上查找资料没有找到,然后又到群里问各位大牛,一位大牛告诉我是没有设置主键。
我又仔细看看提示,恍然大悟,我就给临时设置了主键。
没有主键之前的代码:
执行的话就会报“表 '#TT' 没有标识属性。无法执行 SET 操作”错误
修改之后代码:
不报错了。
然后我又把PRIMARY KEY这个关键字去掉了,SqlServer又不报错了。我现在也不知道咋回事了!
茫然中…………希望有人能给我个建议
--2016.08.18 17:29
最近又报错了,然后我又在插入临时表之前加上一句话
这样又没事了
![](https://images2015.cnblogs.com/blog/887103/201607/887103-20160728094705638-54518966.png)
一开始提示没有打开主键,后来打开主键就提示上述错误异常。
从网上查找资料没有找到,然后又到群里问各位大牛,一位大牛告诉我是没有设置主键。
我又仔细看看提示,恍然大悟,我就给临时设置了主键。
没有主键之前的代码:
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
这样又没事了
相关文章推荐
- Redis简介
- 错误:手动SQL语句拼接时,注意空格
- Redis Linux安装
- Postgresql去除重复数据的方法
- MySql中表单输入数据出现中文乱码的解决方法
- mysql自动安装脚本
- mysql常用操作指令总结
- Mysql5.7初始化成空密码或随机密码的方式
- MySQL 5.7.13解压版安装记录 mysql无法启动教程
- sqlmap用法
- Redis代理twemproxy安装,配置,使用
- 数据库查询的字段
- MySQL— processlist中哪些状态要引起关注
- MongoDb 出现配置服务不同步的处理
- Redis 3.2.100 Windows 32位下载
- VBA操作提取出sql
- redis之redis cluster创建
- 我的文章:JDBC和数据库
- 87.You are managing an Oracle Database 11g database running in ARCHIVELOG mode. The Flash Recovery A
- 完整java开发中JDBC连接数据库代码和步骤