Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server-是否有生成插入脚本的选项仅用于非空列(必需列)?_Sql Server_Insert_Sql Scripts - Fatal编程技术网

Sql server SQL Server-是否有生成插入脚本的选项仅用于非空列(必需列)?

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

我有一个很大的表,对于测试,我想从SQLServer中为这些列生成一个脚本。我想没有这个选择。。。只是一个完整的脚本,我需要删除每个脚本

我只是想确认一下


谢谢!谁知道呢。

您可以设置查询系统表的语句-可能比它的价值更麻烦,但仍然可行:

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

您可以自己生成数据脚本。其实没那么复杂。