我需要在数据库中动态创建一个函数。我的程序接受数据库名称作为参数,然后我需要在该DATABASE中动态创建此函数。 但我无法执行此..请帮助我。提前预订
Create procedure [dbo].[Sp_Insertfun]
(
@OrgName nvarchar(100)
)
AS BEGIN
Declare @orgdataInsertString nvarchar(max);
set @orgdataInsertString='Use '+@OrgName+'' ;
set @orgdataInsertString=@orgdataInsertString+char(13)+char(10)+'GO'+'
Create function dbo.[fn_GroupDisplay](@GroupID int)
RETURNS @Group TABLE
(
GrpPath nvarchar(max)
)
as
begin
declare @ParentId1 int
declare @ParentId2 varchar(50)
declare @ParentId3 varchar(50)
declare @parentId4 varchar(50)
declare @Text nvarchar(max)
set @ParentId3=''''
begin
set @ParentId1=(select ParentID from GroupDetails where GroupID=@GroupID)
set @ParentId4=(select GroupName from GroupDetails where GroupID=@GroupID)
while(@ParentId1>0)
begin
set @parentId2=(select GroupName from GroupDetails where GroupID=@ParentId1 )
set @ParentId3 = @ParentId2+ ''\'' + coalesce(@ParentId3,''')
set @ParentId1=(select ParentID from GroupDetails where GroupID=@ParentId1 )
end
set @Text=@ParentId3+@ParentId4
INSERT INTO @Group VALUES (@Text)
end
RETURN
end'
execute sp_executesql @query=@orgdataInsertString
print @orgdataInsertString
end
答案 0 :(得分:1)