Sql server SQL Server-是否有生成插入脚本的选项仅用于非空列(必需列)?
我有一个很大的表,对于测试,我想从SQLServer中为这些列生成一个脚本。我想没有这个选择。。。只是一个完整的脚本,我需要删除每个脚本 我只是想确认一下Sql server SQL Server-是否有生成插入脚本的选项仅用于非空列(必需列)?,sql-server,insert,sql-scripts,Sql Server,Insert,Sql Scripts,我有一个很大的表,对于测试,我想从SQLServer中为这些列生成一个脚本。我想没有这个选择。。。只是一个完整的脚本,我需要删除每个脚本 我只是想确认一下 谢谢!谁知道呢。您可以设置查询系统表的语句-可能比它的价值更麻烦,但仍然可行: DECLARE @tablename VARCHAR(255) = 'UnprocessedQueueData'; WITH columns AS ( SELECT STUFF(( SELECT ',' + c.name
谢谢!谁知道呢。您可以设置查询系统表的语句-可能比它的价值更麻烦,但仍然可行:
DECLARE @tablename VARCHAR(255) = 'UnprocessedQueueData';
WITH columns
AS ( SELECT STUFF(( SELECT ',' + c.name
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id
WHERE t.name = @tablename
AND c.is_nullable = 0
AND c.is_identity = 0
ORDER BY c.name
FOR
XML PATH('')
), 1, 1, '') col
)
SELECT 'INSERT INTO ' + t.name + ' ( ' + columns.col
+ ' ) SELECT * FROM OtherTable;'
FROM sys.tables t
CROSS JOIN columns
WHERE t.name = @tablename
您可以自己生成数据脚本。其实没那么复杂。