【发布时间】:2017-05-08 21:35:48
【问题描述】:
我尝试使用链接数据库代码中的另一个 SP 执行存储过程(SP),运行顺利,没有错误,但它没有在我的表中插入数据。
这里是存储过程的代码
USE [MYDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[MYDB_SP]
@ReportDate smalldatetime ='19000101'
AS
IF(@ReportDate = '19000101')
SELECT @ReportDate = convert(varchar(10), GETDATE(), 112)
BEGIN
SELECT *
INTO #MYDBTABLETMP
FROM MYDBTABLE
INSERT INTO #MYDBTABLETMP
([DATAAREAID]
,[REPORTDATE]
,[ACCOUNTNUM]
,[NAME]
,[CUSTGROUP]
,[CURRENCYCODE]
,[TOTAL])
((select SPTABLE.[DATAAREAID]
,SPTABLE.[REPORTDATE]
,SPTABLE.[ACCOUNTNUM]
,SPTABLE.[NAME]
,SPTABLE.[CUSTGROUP]
,SPTABLE.[CURRENCYCODE]
,SPTABLE.[TOTAL]
FROM OPENROWSET('SQLOLEDB','LINKEDSERVER'; 'USERNAM' ; 'PASSWORD' ,
'SET FMTONLY OFF; SET NOCOUNT ON; exec LINKEDDB.LINKEDDB_SP 1,''20161201'' ') as SPTABLE))
delete MYDBTABLE where DATAAREAID = 'AAA'
INSERT INTO MYDBTABLE
SELECT * FROM #MYDBTABLETMP WHERE DATAAREAID = 'AAA'
DROP TABLE #ERPCUSTAGINGTMP
END
【问题讨论】:
-
从链接的 sp 插入后,您是否检查过
#MYDBTABLETMP的内容?它有必要的数据吗?
标签: mysql sql-server tsql stored-procedures exec