连接指定表的指定字符串字段的stored procedure
来源:互联网 发布:linux编辑文本 编辑:程序博客网 时间:2024/05/21 11:08
/*可惜function里面不能使用sp_executesql(除非自己写一个相同功能的extended procedure),要不写成function更为自然*/IF OBJECT_ID('strcat') IS NOT NULL DROP PROCEDURE strcatGOCREATE PROCEDURE strcat @cTable NVarChar(128), @cField NVarChar(128), @cRet NVarChar(4000) OutPutWith EncryptionAS DECLARE @cSQLText NVARCHAR(4000) EXEC master..xp_sprintf @cSQLText Output,' DECLARE @cValues NVarChar(4000) SET @cValues = '''' SELECT @cValues = @cValues + '','' + %s FROM %s SET @cRet=@cValues', @cField, @cTable SET @cRet = '' EXEC sp_executesql @cSQLText, N'@cRet NVarChar(4000) OutPut', @cRet Output SET @cRet = STUFF(@cRet, 1, 1, '')GODECLARE @str NVARCHAR(1000)SET @str = ''EXEC strcat 'INFORMATION_SCHEMA.TABLES', 'TABLE_NAME', @str OUTPUTPRINT @strDROP PROCEDURE strcatGo