我有这个脚本:
CREATE TABLE #TempTable (Id int)
ALTER TABLE #TempTable ADD [IdKey] INT
ALTER TABLE #TempTable ADD [ProviderName] NVARCHAR(100)
SELECT *
FROM tempdb.sys.columns
WHERE [object_id] = OBJECT_ID(N'tempdb..#TempTable');
我需要读取此临时表的列,并根据前一个临时表创建另一个临时表。 为什么当我选择tempdb.sys.columns时,ProviderName长度是200而不是100?
答案 0 :(得分:1)
通过这个简单的查询,可以复制临时表结构:
SELECT *
INTO #NewTempTable
FROM #TempTable
WHERE 1 = 0
答案 1 :(得分:0)
使用它可以解决问题:
SELECT * FROM [tempdb]。[sys]。[dm_exec_describe_first_result_set](N' SELECT Id,[IdKey],[ProviderName] FROM#temptable',null,0);
答案 2 :(得分:0)
将临时表结构克隆到SQL Server中的新物理表
我们将看到如何在SQL Server中将临时表结构克隆到新的物理表。这适用于Azure SQL数据库和内部部署。
演示SQL脚本
public static void setWindowFlag(Activity activity, final int bits, boolean on) {
Window win = activity.getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
if (on) {
winParams.flags |= bits;
} else {
winParams.flags &= ~bits;
}
win.setAttributes(winParams);
}
方法1
IF OBJECT_ID('TempDB..#TempTable') IS NOT NULL
DROP TABLE #TempTable;
SELECT 1 AS ID,'Arul' AS Names
INTO
#TempTable;
SELECT * FROM #TempTable;
方法2
SELECT * INTO TempTable1 FROM #TempTable WHERE 1=0;
EXEC SP_HELP TempTable1;