插入数据不存在的 table 时出错
Error inserting into a table where data does not exist
我向我的 SQL 服务器 table 添加了一个名为 Source
的新列。我想在存储过程中用 MP 填充该列,因为它在原始 table 中不存在。我以多种方式尝试了以下代码,但一直收到错误消息
Incorrect Syntax near 'MP'
我做错了什么?这以前有效,现在无效。由于原始数据库不在该服务器上,因此我必须执行一个开放式查询,直到我尝试添加此列之前它一直在工作。
CREATE PROCEDURE [dbo].[sp_AC_PRODUCT]
AS
BEGIN
SET NOCOUNT ON;
TRUNCATE TABLE [dbo].[AC_PRODUCT_]
INSERT INTO [dbo].[ARIES_AC_PROPDUCT] (SOURCE, PROPNUM, P_DATE, OIL, GAS)
SELECT
'MP' as SOURCE, PROPNUM, P_DATE, OIL, GAS
FROM
OPENQUERY(ARLPSQL1, 'SELECT DISTINCT 'MP' PROPNUM, P_DATE, OIL, GAS)
FROM [ARLP_ARIES_MASTER].[dbo].[AC_PRODUCT]');
END
GO
您可以从 openquery 中删除 'mp',因为它是一个静态值:
CREATE PROCEDURE [dbo].[sp_AC_PRODUCT]
AS
BEGIN
SET NOCOUNT ON;
TRUNCATE TABLE [dbo].[AC_PRODUCT_];
INSERT INTO [dbo].[ARIES_AC_PROPDUCT]
(
SOURCE
, PROPNUM
, P_DATE
, OIL
, GAS
)
SELECT
'MP' AS SOURCE
, PROPNUM
, P_DATE
, OIL
, GAS
FROM
OPENQUERY
(ARLPSQL1, 'SELECT DISTINCT
PROPNUM,
P_DATE,
OIL,
GAS)
FROM [ARLP_ARIES_MASTER].[dbo].[AC_PRODUCT]'
);
END;
GO
我向我的 SQL 服务器 table 添加了一个名为 Source
的新列。我想在存储过程中用 MP 填充该列,因为它在原始 table 中不存在。我以多种方式尝试了以下代码,但一直收到错误消息
Incorrect Syntax near 'MP'
我做错了什么?这以前有效,现在无效。由于原始数据库不在该服务器上,因此我必须执行一个开放式查询,直到我尝试添加此列之前它一直在工作。
CREATE PROCEDURE [dbo].[sp_AC_PRODUCT]
AS
BEGIN
SET NOCOUNT ON;
TRUNCATE TABLE [dbo].[AC_PRODUCT_]
INSERT INTO [dbo].[ARIES_AC_PROPDUCT] (SOURCE, PROPNUM, P_DATE, OIL, GAS)
SELECT
'MP' as SOURCE, PROPNUM, P_DATE, OIL, GAS
FROM
OPENQUERY(ARLPSQL1, 'SELECT DISTINCT 'MP' PROPNUM, P_DATE, OIL, GAS)
FROM [ARLP_ARIES_MASTER].[dbo].[AC_PRODUCT]');
END
GO
您可以从 openquery 中删除 'mp',因为它是一个静态值:
CREATE PROCEDURE [dbo].[sp_AC_PRODUCT]
AS
BEGIN
SET NOCOUNT ON;
TRUNCATE TABLE [dbo].[AC_PRODUCT_];
INSERT INTO [dbo].[ARIES_AC_PROPDUCT]
(
SOURCE
, PROPNUM
, P_DATE
, OIL
, GAS
)
SELECT
'MP' AS SOURCE
, PROPNUM
, P_DATE
, OIL
, GAS
FROM
OPENQUERY
(ARLPSQL1, 'SELECT DISTINCT
PROPNUM,
P_DATE,
OIL,
GAS)
FROM [ARLP_ARIES_MASTER].[dbo].[AC_PRODUCT]'
);
END;
GO