/* 可惜function里面不能使用sp_executesql(除非自己写一个相同功能的extended procedure), 要不写成function更为自然 */ IF OBJECT_ID('strcat') IS NOT NULL DROP PROCEDURE strcat GO CREATE PROCEDURE strcat @cTable NVarChar(128), @cField NVarChar(128), @cRet NVarChar(4000) OutPut With Encryption AS 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, '') GO DECLARE @str NVARCHAR(1000) SET @str = '' EXEC strcat 'INFORMATION_SCHEMA.TABLES', 'TABLE_NAME', @str OUTPUT PRINT @str DROP PROCEDURE strcat Go
连接指定表的指定字符串字段的stored procedure
最新推荐文章于 2021-01-28 16:04:42 发布