• 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

    这样又没事了

  • 相关阅读:
    oracle 聚合函数 LISTAGG ,将多行结果合并成一行
    oracle 数据库对于多列求最大值
    Java 简单的rpc 一
    centos7 安装php7
    win10下VM 中centos 安装共享文件
    CentOS7 cannot find a valid baseurl for repo base
    分布式事务
    利用虚拟映射文件加密大文件
    动态代理
    c++ 11 lambda表达式
  • 原文地址:https://www.cnblogs.com/dawenyang/p/5713608.html
Copyright © 2020-2023  润新知