Har*_*a W 1 sql t-sql sql-server
有没有办法从现有表克隆表定义并重新创建为表变量?
DECLARE @TempTable1 TABLE (ID INT, Description VARCHAR(256))
Run Code Online (Sandbox Code Playgroud)
我需要重新创建一组具有相同列数和定义的表,而不重复该DECLARE TABLE
语句.
此过程在MySQL上可用,如下所示.
CREATE TABLE TempTable1 LIKE TempTableMain;
Run Code Online (Sandbox Code Playgroud)
有可能这样做是Microsoft SQL Server吗?
请注意,实际场景中包含的列@TempTable
数超过60列,需要从原始表创建10个以上的实例.
我不是在谈论数据插入或SELECT
来自另一个表的离子,如下所示.我需要创建表定义.
DECLARE @TempTable TABLE(ID INT, Description VARCHAR(100))
INSERT INTO @TempTable
VALUES (1, 'Test1'), (1, 'Test1');
SELECT *
INTO @TempTable2
FROM @TempTable1
SELECT * FROM @TempTable2
Run Code Online (Sandbox Code Playgroud)
CREATE TYPE MyTableType AS TABLE (ID INT, Description VARCHAR(256));
Run Code Online (Sandbox Code Playgroud)
然后使用以下类型声明表变量:
DECLARE @Table1 MyTableType;
DECLARE @Table2 MyTableType;
DECLARE @Table3 MyTableType;
Run Code Online (Sandbox Code Playgroud)