看例子
create procedure DeleteTree
@ID int
as
declare CursorDelete cursor global
for select ID from tree where parentID=@ID
begin
open CursorDelete
delete tree where ID=@ID
create function DeleteTree1(@nextID in int)
declare @NextID int
begin
fetch next from CursorDelete into @NextID
while(@@fetch_status=0)
begin
begin
exec DeleteTree1 @NextID
end
delete tree where parentID =@NextID
end
end
close CursorDelete
deallocate CursorDelete
end
创建的这个存储过程可以用不?哪里错了?
(消息 156,级别 15,状态 1,过程 DeleteTree,第 9 行
关键字 'function' 附近有语法错误。)
结果
关键字create是不允许出现在存储过程里,除非你用动态SQL。而且还想用递归?数据库是不支持,死了这条心,改用其他方式去实现吧
2011年10月09日 13:20