尝试使用hierarchyid时出错24000

时间:2014-12-21 21:12:09

标签: sql-server sql-server-2014 hierarchyid

当我尝试在我的应用程序中生成hierarchyid时遇到问题。具体来说,每个节点似乎没有超过16个孩子。这是我试图用于存储过程的代码(这是一个只有一个hid字段和一个内容字段的测试表:

create PROC testAdd (@parentid hierarchyid, @content varchar(10)) 
AS
BEGIN
    DECLARE
       @parentNode hierarchyid , 
       @lc hierarchyid;
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
    BEGIN TRANSACTION;
    SELECT @lc = MAX (hid)
      FROM testing
      WHERE hid.GetAncestor (1) = @parentid;

    INSERT INTO testing (hid, content) 
    VALUES ( @parentid.GetDescendant(@lc, NULL),
    @content) ;
    COMMIT;
END;

以下是我收到错误的方法:

  1. 运行INSERT INTO testing (hid , content) VALUES (hierarchyid::GetRoot () , 'a') ;
  2. 运行EXEC testAdd '/' , 'a'; 16次。
  3. 我得到的错误如下: enter image description here

    此外,我尝试从this answer运行第二个代码段,并立即崩溃。

    可能出现什么问题?

    更新:我已经卸载了VS 2015,以及sql server 2014的CLR数据类型,并用旧版本替换它们无济于事。

0 个答案:

没有答案