ALTER FUNCTION [dbo].[def] //开始时, 为 create function 成功后自动变为alter
(
@id VARCHAR(200)
)
RETURNS nvarchar(800)
AS
BEGIN
DECLARE @name varchar(200)
DECLARE @re VARCHAR(800)
DECLARE mycursor Cursor for SELECT name from role // 游标
OPEN mycursor //开启游标
set @re=''
WHILE @@fetch_status=0
BEGIN
FETCH NEXT FROM mycursor INTO @name
set @re=@re+@name
set @re=@re+','
FETCH NEXT FROM mycursor INTO @name
END
CLOSE mycursor //关闭游标
RETURN SUBSTRING(@re,0,LEN(@re)-1)
(
@id VARCHAR(200)
)
RETURNS nvarchar(800)
AS
BEGIN
DECLARE @name varchar(200)
DECLARE @re VARCHAR(800)
DECLARE mycursor Cursor for SELECT name from role // 游标
OPEN mycursor //开启游标
set @re=''
WHILE @@fetch_status=0
BEGIN
FETCH NEXT FROM mycursor INTO @name
set @re=@re+@name
set @re=@re+','
FETCH NEXT FROM mycursor INTO @name
END
CLOSE mycursor //关闭游标
RETURN SUBSTRING(@re,0,LEN(@re)-1)
END
ALTER FUNCTION [dbo].[sss]
(
@id VARCHAR(200)
)
RETURNS nvarchar(900)
AS
BEGIN
-- routine body goes here, e.g.
-- SELECT 'Navicat for SQL Server'
DECLARE @name varchar(200)
DECLARE @re VARCHAR(900)
DECLARE @count INT;
DECLARE mycursor Cursor for SELECT name from role where roleKey in ('sys_manager')
OPEN mycursor
set @re=''
FETCH NEXT FROM mycursor INTO @name
WHILE @@fetch_status=0
BEGIN
set @re+=@name
set @re+=','
FETCH NEXT FROM mycursor INTO @name
END
CLOSE mycursor
IF(@re='')
RETURN ''
ELSE
RETURN SUBSTRING(@re,0,LEN(@re))
RETURN ''
END