让我们争辩说我在 MS Access
中有以下查询select id, value into newtable
from oldtable
我需要在 sql server 存储过程中复制它 它会如下:
Delete newtable if exists
Create newtable
Copy values
还是有另一种方式吗?
答案 0 :(得分:0)
如果表格不存在,您可以这样做:
select id, value
into newtable
from oldtable;
如果表格确实存在:
drop table newtable;
select id, value
into newtable
from oldtable;
答案 1 :(得分:0)
如果您已将旧表迁移到SQL Server,请在过程中使用以下脚本。
IF EXISTS (SELECT 1
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'NewTable')
BEGIN
DROP TABLE NewTable
END
SELECT ID,VALUE INTO NewTable FROM OldTable.
EXISTS子句将检查并删除NewTable,如果它已存在于您的数据库中。在SQL Server中编写表存在性检查有不同的方法,您可以遵循这些方法中的任何一种。
IF OBJECT_ID (N'NewTable', N'U') IS NOT NULL
DROP TABLE NewTable
OR
IF EXISTS(SELECT 1 FROM sys.Objects WHERE Object_id = OBJECT_ID(N'dbo.NewTable') AND Type = N'U')
BEGIN
DROP TABLE NewTable
END