====== pears.NetAPIProcSet ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
create procedure "pears"."NetAPIProcSet"( in "pWebUserID" char(20),in "pOwner" char(50),in "pName" char(50),in "pBody" long varchar )
result( "pResult" char(250) )
// IQXWeb
begin
declare "iSpace" tinyint;
if "IQXNetHasPermission"("pWebUserID",'APIDESIGN') = 0 then
select '99:~Permission denied';
return
end if;
set "pBody" = "ltrim"("pBody");
set "iSpace" = "charindex"(' ',"pBody");
if exists(select "p"."proc_name" from "sys"."sysprocedure" as "p" join "sys"."sysuser" as "u" on "p"."creator" = "u"."user_id"
where "p"."proc_name" = "pName" and "u"."user_name" = "pOwner") then
set "pBody" = "stuff"("pBody",1,"iSpace",'Alter ')
else
set "pBody" = "stuff"("pBody",1,"iSpace",'Create ')
end if;
execute immediate "pBody";
execute immediate 'grant execute on '+"pOwner"+'.'+"pName"+' to IQXNet';
select '0:~Success'
end
go
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetAPIProcSet" IS
{create procedure pears."NetAPIProcSet"( in "pWebUserID" char(20),in "pOwner" char(50),in "pName" char(50),in "pBody" long varchar )
result( "pResult" char(250) )
// IQXWeb
begin
declare "iSpace" tinyint;
if "IQXNetHasPermission"("pWebUserID",'APIDESIGN') = 0 then
select '99:~Permission denied';
return
end if;
set "pBody" = "ltrim"("pBody");
set "iSpace" = "charindex"(' ',"pBody");
if exists(select "p"."proc_name" from "sys"."sysprocedure" as "p" join "sys"."sysuser" as "u" on "p"."creator" = "u"."user_id"
where "p"."proc_name" = "pName" and "u"."user_name" = "pOwner") then
set "pBody" = "stuff"("pBody",1,"iSpace",'Alter ')
else
set "pBody" = "stuff"("pBody",1,"iSpace",'Create ')
end if;
execute immediate "pBody";
execute immediate 'grant execute on '+"pOwner"+'.'+"pName"+' to IQXNet';
select '0:~Success'
end
}