zoukankan      html  css  js  c++  java
  • 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

    这样又没事了

  • 相关阅读:
    用“Keras”11行代码构建CNN
    技术 | 使用深度学习检测DGA(域名生成算法)
    未来的超级智能网络攻击需要AI竞技俱乐部来拯救
    开源中国的代码托管
    Hello Java !
    15-include的使用
    14-递归函数
    13-函数的调用
    12-函数的返回值
    11-函数的参数
  • 原文地址:https://www.cnblogs.com/dawenyang/p/5713608.html
Copyright © 2011-2022 走看看