尝试执行存储过程时出现以下错误:
msg 2714,16级,状态6,程序终止,第18行[批次开始第2行]
数据库中已存在名为“employees”的对象
我在另一个示例中创建了表,我必须使用json文件并将其导入sql server:
USE [Kronos]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Hire_Termination]
AS
DECLARE @JSON nvarchar(max)
SET @JSON = N'{C:\Automation\Kronos.JSON}'
BEGIN
SELECT @JSON = BulkColumn
FROM OPENROWSET (BULK 'C:\Automation\Kronos.JSON', Single_Clob) import
SET NOCOUNT ON;
SELECT *
INTO [Kronos].[dbo].[Employees]
FROM OPENJSON (@JSON)
END
2条答案
按热度按时间mzsu5hc01#
SELECT INTO
创建新表。所以不用使用常规的
INSERT
声明,例如。注意:最好的做法是完整列出插入的列并选择。
rqcrx0a62#
select into创建一个新表。因此,第二次运行sp时,如果要插入到现有表中,它会抱怨,然后使用insert into kronos.dbo.employees select。。。如果您真的只想替换表的内容,那么可以先运行drop table if exists kronos.dbo.employees,然后选择into语句。