日期:2014-05-18 浏览次数:20370 次
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[d_dir_lists_copy_gx] --传入参数(当前要移动的节点ID,将要放入到的那个父ID,用户ID) (@node_id int,@new_parent_node_id int,@user_id int,@copy_node_name nvarchar(200)) as --新产生的node_id declare @new_node_id int begin declare @new_parent_node_url nvarchar(200); declare @new_copy_node_name nvarchar(200); declare @index int; select @new_parent_node_url = node_url from [dbo].[d_dir_lists] where node_id= @new_parent_node_id; select @index = charindex('.json',@copy_node_name); if(@index> 0) select @new_copy_node_name = substring(@copy_node_name,1,len(@copy_node_name)-5); else set @new_copy_node_name = @copy_node_name; --对移动的父节点进行修改 if ( @copy_node_name !='' and @copy_node_name is not null) exec('insert into [dbo].[d_dir_lists] select project_id ,'''+@copy_node_name+''','''+@new_parent_node_url+'/'+@new_copy_node_name+''',node_content,'+@new_parent_node_id+',node_type,1,getdate(),'+@user_id+',getdate(),'+@user_id+',remark from [dbo].[d_dir_lists] where node_id='+@node_id); else exec('insert into [dbo].[d_dir_lists] select project_id ,node_name,'''+@new_parent_node_url+'/'+@new_copy_node_name+''',node_content,'+@new_parent_node_id+',node_type,1,getdate(),'+@user_id+',getdate(),'+@user_id+',remark from [dbo].[d_dir_lists] where node_id='+@node_id); --得到产生的随机ID [color=#FF0000]select @new_node_id=IDENT_CURRENT('d_dir_lists');[/color] [color=#3366FF] --上面这段为什么我换成 select @new_node_id=SCOPE_IDENTITY();就会出错?这个函数受什么限制吗?[/color] print @new_node_id exec ('exec [dbo].[copy_insert]'+ @node_id+','+@new_node_id+','+@user_id); --调用函数返回树型json对象 select '['+dbo.TreePrint(@new_node_id)+']' as json; end