Hãy xem xét lệnh sau:
SELECT 'SELECT ' +
STUFF ((
SELECT ', [' + name + ']'
FROM syscolumns
WHERE id = OBJECT_ID('Table') AND
name <> 'me'
FOR XML PATH('')), 1, 1, '') +
' FROM [Table]'
Điều đó sẽ tạo ra một SELECT
tuyên bố cho một bảng cụ thể. Để tạo một INSERT
tuyên bố nó có thể trông như thế này:
SELECT @sql = 'INSERT INTO [Table] (' +
STUFF ((
SELECT ', [' + name + ']'
FROM syscolumns
WHERE id = OBJECT_ID('Table') AND
name <> 'me'
FOR XML PATH('')), 1, 1, '') +
') VALUES (' +
STUFF ((
SELECT ', @' + name
FROM syscolumns
WHERE id = OBJECT_ID('Table') AND
name <> 'me'
FOR XML PATH('')), 1, 1, '') + ')'
Tất nhiên, có nhiều cách để truy cập INSERT
tuyên bố, tạo khuôn mẫu theo ý thích của bạn.