在不导入行数据的情况下克隆 table
Cloning a table without importing row data
我需要临时table (TAB_PROV
)。此 table 将起源于主 table (TAB_MAIN
)。我需要主要 table 中的所有内容,除了数据(行)。
我搜索了一些示例,none 对我有用
CREATE TABLE TAB_PROV LIKE TAB_MAIN
CREATE TABLE TAB_PROV AS TAB_MAIN
在 SQL Server Management Studio 中,您可以右键单击 table 和 select
Script Table as -> Create To -> New Query Editor Window
这将为您创建 table 创建脚本。
您也可以尝试下面的代码,但它会复制所有内容。
SELECT *
INTO NewTable
FROM OldTable
TRUNCATE TABLE NewTable
你可以简单地做:
SELECT *
FROM TAB_MAIN
INTO TAB_PROV
WHERE 1 = 2
由于 WHERE
条件永远不会为真,因此不会复制任何数据 - 但会复制 table 结构 - TAB_PROV
已创建并具有与 TAB_MAIN
相同的列。这 NOT 但是会复制任何约束(检查或默认约束)或触发 - 它 仅 重新创建列(及其数据类型)。
如果您想要 真实 并完整“复制”您的 table,那么您应该使用 SSMS 中的“脚本 Table”功能来获取 TAB_MAIN
所需的 SQL,然后调整它以从中创建 TAB_PROV
。
我需要临时table (TAB_PROV
)。此 table 将起源于主 table (TAB_MAIN
)。我需要主要 table 中的所有内容,除了数据(行)。
我搜索了一些示例,none 对我有用
CREATE TABLE TAB_PROV LIKE TAB_MAIN
CREATE TABLE TAB_PROV AS TAB_MAIN
在 SQL Server Management Studio 中,您可以右键单击 table 和 select
Script Table as -> Create To -> New Query Editor Window
这将为您创建 table 创建脚本。
您也可以尝试下面的代码,但它会复制所有内容。
SELECT *
INTO NewTable
FROM OldTable
TRUNCATE TABLE NewTable
你可以简单地做:
SELECT *
FROM TAB_MAIN
INTO TAB_PROV
WHERE 1 = 2
由于 WHERE
条件永远不会为真,因此不会复制任何数据 - 但会复制 table 结构 - TAB_PROV
已创建并具有与 TAB_MAIN
相同的列。这 NOT 但是会复制任何约束(检查或默认约束)或触发 - 它 仅 重新创建列(及其数据类型)。
如果您想要 真实 并完整“复制”您的 table,那么您应该使用 SSMS 中的“脚本 Table”功能来获取 TAB_MAIN
所需的 SQL,然后调整它以从中创建 TAB_PROV
。