ALTER FUNCTION [dbo].[ReturnTableCommaSeparted]
(
@TABLENAME VARCHAR(100) = ''
)
RETURNS @RETURN_LIST TABLE
(
TABLE_SCHEMA VARCHAR(MAX) NOT NULL,
TABLE_NAME VARCHAR(MAX) NOT NULL,
Columns_List VARCHAR(MAX) NOT NULL
)
AS
BEGIN
INSERT INTO @RETURN_LIST
(
TABLE_SCHEMA,
TABLE_NAME,
Columns_List
)
SELECT TABLE_SCHEMA,
TABLE_NAME,
'SELECT ' + STUFF(
(
SELECT ', ' + C.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS AS C
WHERE C.TABLE_SCHEMA = T.TABLE_SCHEMA
AND C.TABLE_NAME = T.TABLE_NAME
ORDER BY C.ORDINAL_POSITION
FOR XML PATH('')
),
1,
2,
''
)
+ ' FROM ' + T.TABLE_NAME + ' WITH(NOLOCK) ' AS Columns_List
FROM INFORMATION_SCHEMA.TABLES AS T
WHERE (
@TABLENAME = ''
OR T.TABLE_NAME = @TABLENAME
);
RETURN;
END;
(
@TABLENAME VARCHAR(100) = ''
)
RETURNS @RETURN_LIST TABLE
(
TABLE_SCHEMA VARCHAR(MAX) NOT NULL,
TABLE_NAME VARCHAR(MAX) NOT NULL,
Columns_List VARCHAR(MAX) NOT NULL
)
AS
BEGIN
INSERT INTO @RETURN_LIST
(
TABLE_SCHEMA,
TABLE_NAME,
Columns_List
)
SELECT TABLE_SCHEMA,
TABLE_NAME,
'SELECT ' + STUFF(
(
SELECT ', ' + C.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS AS C
WHERE C.TABLE_SCHEMA = T.TABLE_SCHEMA
AND C.TABLE_NAME = T.TABLE_NAME
ORDER BY C.ORDINAL_POSITION
FOR XML PATH('')
),
1,
2,
''
)
+ ' FROM ' + T.TABLE_NAME + ' WITH(NOLOCK) ' AS Columns_List
FROM INFORMATION_SCHEMA.TABLES AS T
WHERE (
@TABLENAME = ''
OR T.TABLE_NAME = @TABLENAME
);
RETURN;
END;
No comments:
Post a Comment