在SQL Server中使用同义词创建新表
我为这个表创建了一个同义词ParaPITD.dbo.BM_00_PolicyMaster,它指向ParaPITDYYYYMM.dbo.BM_00_PolicyMaster 现在还没有桌子,所以它是一个占位符 我有一个创建临时表BM_00_PolicyMaster的存储过程,现在我想在同义词指向的占位符中插入或选择,并在ParaPITDYYYYMM.dbo.BM_00_PolicyMaster中创建表 如果我运行这个:在SQL Server中使用同义词创建新表,sql,sql-server-2008,synonym,Sql,Sql Server 2008,Synonym,我为这个表创建了一个同义词ParaPITD.dbo.BM_00_PolicyMaster,它指向ParaPITDYYYYMM.dbo.BM_00_PolicyMaster 现在还没有桌子,所以它是一个占位符 我有一个创建临时表BM_00_PolicyMaster的存储过程,现在我想在同义词指向的占位符中插入或选择,并在ParaPITDYYYYMM.dbo.BM_00_PolicyMaster中创建表 如果我运行这个: select * into ParaPITD.dbo.BM_00_Polic
select *
into ParaPITD.dbo.BM_00_PolicyMaster
from #BM_00_PolicyMaster
INSERT INTO ParaPITD.dbo.BM_00_PolicyMaster
SELECT *
FROM #BM_00_PolicyMaster
它在ParaPITD.dbo.BM_00_PolicyMaster中创建表,并忽略同义词
如果我运行这个:
select *
into ParaPITD.dbo.BM_00_PolicyMaster
from #BM_00_PolicyMaster
INSERT INTO ParaPITD.dbo.BM_00_PolicyMaster
SELECT *
FROM #BM_00_PolicyMaster
它给了我一个无效的对象错误,就像表在插入之前必须存在一样
感谢您的帮助-感谢您的文档:
不能在DDL语句中引用同义词
以及创建表的任何语句,包括SELECT INTO,都将作为DDL语句计数。请看这里: