首页 > 数据库技术 > 详细

sql 链接服务器openquery查询 带变量+拼接语句

时间:2021-09-02 08:12:17      阅读:18      评论:0      收藏:0      [点我收藏+]
DECLARE @tablename VARCHAR (30), @tablename_1 VARCHAR (30),@tablename_2 VARCHAR (30),@fsc VARCHAR (10), @sql VARCHAR (5000) ,@fsc_1 VARCHAR (10),@fsc_2 VARCHAR (10)
SET @fsc = (SELECT min(fscprdid) FROM fscprd WHERE cseflg = n)
SET @fsc_1 = (SELECT max(fscprdid) FROM fscprd WHERE cseflg = y)
SET @fsc_2 = (SELECT max(fscprdid) FROM fscprd WHERE cseflg = y AND fscprdid NOT IN (SELECT max(fscprdid) FROM fscprd WHERE cseflg = y))
SET @tablename = stockbth_+@fsc
SET @tablename_1 = stockbth_+@fsc_1
SET @tablename_2 = stockbth_+@fsc_2
--SELECT @tablename ,@fsc
--SELECT @tablename_1
--SELECT @tablename_2

SET @sql =insert into     E9_Scm_Gdshnd_yyshop select * from openquery([E91],
SET @sql=@sql+        ‘‘
SELECT stockbth.gdsid
    , stockbth.fscprdid
    , stockbth.actdat
    , stockbth.prvid
    , stockbth.prvempid
    , stockbth.bllid
    , stockbth.blldes
    , CAST (stockbth.srcbllno AS CHAR (20)) AS srcbllno
    , CAST (stockbth.dbtcrt*-1 AS VARCHAR (2)) AS dbtcrt
    , stockbth.qty
    , stockbth.savdptid
    , stockbth.vlddat
    , stockbth.bthno
    , stockbth.dptid
    , stockbth.prc
    , stockbth.amt
from + @tablename +  as stockbth 
where stockbth.savdptid IN (‘‘‘‘602‘‘‘‘,‘‘‘‘603‘‘‘‘) AND actdat >=CONVERT (VARCHAR (8), DATEADD (dd, -12, GETDATE ()), 112) AND stockbth.fscprdid = ‘‘‘‘‘+@fsc+‘‘‘‘‘ ‘‘)    
exec(@sql)

 

sql 链接服务器openquery查询 带变量+拼接语句

原文:https://www.cnblogs.com/juices/p/15206920.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!