L&J Blog
  • 48W+

    人气

  • 214

    文章

  • 2

    关注

  • 1

    粉丝

私信
  • 原创 71
  • 翻译 0
  • 转载 143
  • 评论 58
  • 点赞 20

分享:

klick 

分享到朋友圈

虚己以游世

  • 关注技术:C/C++ python 数据库
  • 入住博客:2007-05-19 14年
最新评论
klick:另还有一种方法即: 客户端 使用FlashFXP访问,将FlashFXP设置为主动访问 1、打开软件,点击 选项 --> 选择 参数设置。 2、找到 代理 将使用被动模式的勾去掉,点击确定即可。
klick:setuser 'BFCRM'|@|go|@|if exists(select * from sysobjects where name='HYK_PROC_HYK_JFFHLPJXCITEM' and type='P')|@| drop Procedure HYK_PROC_HYK_KCCZKBGZITEM|@|go|@|print 'Creating Procedure HYK_PROC_HYK_JFFHLPJXCITEM ...'|@|go|@|setuser 'BFCRM'|@|go|@|Create Procedure HYK_PROC_HYK_JFFHLPJXCITEM|@|as|@|begin|@| declare @JZRQ     char(10)|@| declare @HYKTYPE   smallint|@| declare @SL       int|@| declare @JE       money|@| declare @QCYE     money|@||@| /*进货*/|@| declare curJK cursor for|@|   select D.JZRQ,X.LPDM,X.LPMC,M.SPJJ,M.SPSJ,M.SPSL,M.SPSL*M.SPSJ |@| from BFCRM.HYK_JFFHLPDHDITEM M,BFCRM.HYK_JFFHLPXX X,BFCRM.HYK_JFFHLPDHD D|@| where M.SPCODE=X.LPDM|@|   and M.JLBH=D.JLBH|@|   and D.JZRQ=convert(char,getdate(),102)|@|   for read only|@||@| open curJK|@| fetch curJK into @JZRQ,@LPDM,@LPMC,@SPJJ,@SPSJ,@SPSL,@JHJE|@| while (@@sqlstatus = 0)|@| begin|@|   update BFCRM.HYK_JFFHLPJXCITEM|@|   set SPJJ=@SPJJ,SPSJ=@SPSJ,SPSL=@SPSL|@|   where RQ=@JZRQ|@|     and SPCODE = @LPDM|@|   if @@rowcount=0|@|   insert into BFCRM.HYK_JFFHLPJXCITEM(JZRQ,LPDM,LPMC,LPJJ,LPSJ,JHSL,JHJE,DHSL,DHJE,JCSL,JCJE) |@|      values(@JZRQ,@LPDM,@LPMC,@LPJJ,@LPSJ,@JHSL,@JHJE,0,0,@JCSL,@JCJE)|@|   fetch curJK into @JZRQ,@LPDM,@LPMC,@SPJJ,@SPSJ,@SPSL,@JHJE|@| end|@| close curJK|@| deallocate Cursor curJK|@||@| /*兑换*/|@| declare curJK cursor for|@|   select J.BGDDDM,J.HYKTYPE,isnull(J.QCYE,0),count(I.JLBH) SL,sum(isnull(I.JE,0)) JE|@|   from BFCRM.HYKJKJL J,BFCRM.HYKJKJLITEM I|@|   where J.JLBH=I.JLBH AND|@|       DateDiff(Day,I.XKRQ,@ProcDate) = 0|@|   group by J.BGDDDM,J.HYKTYPE,isnull(J.QCYE,0)|@|   for read only|@||@| open curJK|@| fetch curJK into @BGDDDM,@HYKTYPE,@QCYE,@SL,@JE|@| while (@@sqlstatus = 0)|@| begin|@|   select @JE=isnull(@JE,0)|@|   update BFCRM.HYK_KCCZKBGZ|@|   set XKSL=XKSL+@SL,XKJE=XKJE+@JE|@|   where RQ=@ProcDate|@|     and BGDDDM = @BGDDDM|@|     and HYKTYPE = @HYKTYPE|@|     and MZJE = @QCYE|@|   if @@rowcount=0|@|   insert into BFCRM.HYK_KCCZKBGZ(RQ,BGDDDM,HYKTYPE,MZJE,XKSL,XKJE,YEARMONTH)|@|     values(@ProcDate,@BGDDDM,@HYKTYPE,@QCYE,@SL,@JE,@YEARMONTH)|@|   fetch curJK into @BGDDDM,@HYKTYPE,@QCYE,@SL,@JE|@| end|@| close curJK|@| deallocate Cursor curJK|@||@| /*结存*/|@| declare curJK cursor for|@|   select J.BGDDDM_BR,J.HYKTYPE,I.JE QCYE,count(I.JLBH) SL,sum(I.JE) JE|@|   from BFCRM.CARDLQJL J,BFCRM.CARDLQJLITEM I|@|   where J.JLBH=I.JLBH AND|@|       DateDiff(Day,J.ZXRQ,@ProcDate) = 0|@|   group by J.BGDDDM_BR,J.HYKTYPE,I.JE|@|   for read only|@||@| open curJK|@| fetch curJK into @BGDDDM,@HYKTYPE,@QCYE,@SL,@JE|@| while (@@sqlstatus = 0)|@| begin|@|   select @SL=isnull(@SL,0)|@|   select @JE=isnull(@JE,0)|@|   update BFCRM.HYK_KCCZKBGZ|@|   set BRSL=BRSL+@SL,BRJE=BRJE+@JE|@|   where RQ=@ProcDate|@|     and BGDDDM = @BGDDDM|@|     and HYKTYPE = @HYKTYPE|@|     and MZJE = @QCYE|@|   if @@rowcount=0|@|   insert into BFCRM.HYK_KCCZKBGZ(RQ,BGDDDM,HYKTYPE,MZJE,BRSL,BRJE,YEARMONTH)|@|     values(@ProcDate,@BGDDDM,@HYKTYPE,@QCYE,@SL,@JE,@YEARMONTH)|@|   fetch curJK into @BGDDDM,@HYKTYPE,@QCYE,@SL,@JE|@| end|@| close curJK|@| deallocate Cursor curJK|@|end|@|go
klick:|@|select L.DEPTID,L.KKJE,M.JSKKJE,M.YKKJE from BFBHDD.JSDKKITEM M,BFBHDD.KKBL L|@| where L.DEPTID=M.DEPTID|@|   and M.JSKKID=15|@||@|--update BFBHDD.JSDKKITEM set JSKKJE=L.KKJE,YKKJE=L.KKJE|@| from BFBHDD.JSDKKITEM M,BFBHDD.KKBL L|@| where L.DEPTID=M.DEPTID|@|   and M.JSKKID=15|@|   --and L.DEPTID='01020140'|@||@|select J.JLBH,J.HTH,J.KKJE_FYHK,L.KKJE,L.YKKJE,J.KKJE_FYHK-L.YKKJE+L.KKJE|@| from BFBHDD.KKBL L,BFBHDD.JSD J|@| where J.HTH=L.HTH|@|   and J.YEARMONTH=L.YEARMONTH|@| group by J.JLBH,J.HTH,J.KKJE_FYHK,L.KKJE,L.YKKJE|@||@|update BFBHDD.JSD set KKJE_FYHK=KKJE_FYHK-L.YKKJE+L.KKJE|@| from BFBHDD.KKBL L,BFBHDD.JSD J|@| where L.HTH=J.HTH|@|   and J.YEARMONTH=L.YEARMONTH|@|   --and L.HTH<>396300
klick:在MSSQL SERVER2005后,提供了链接服务器。利用它可以对异类数据库和MSSQL进行交互,使用起来非常方便。操作步骤如下:|@|1:创建MYSQL数据库的ODBC数据源,名称为CPC,选择一个默认的数据库。|@|2:SQL代码如下|@| |@| |@||@|-- 创建链接服务器|@||@|EXEC sp_addlinkedserver @server ='MySQLTest', @srvproduct='MySQL',@provider ='MSDASQL', @datasrc ='cpc'|@|GO|@||@|-- 创建或更新 SQL Server 本地实例上的登录名与远程服务器中安全帐户之间的映射。|@||@|-- 好像没什么用,不做这一步也能进行数据交互|@||@|EXEC sp_addlinkedsrvlogin @rmtsrvname='MySQLTest',@useself='false',@locallogin='sa',@rmtuser='cpc',@rmtpassword='123'|@|go|@||@|-- 把SQL SERVER里的TT表的记录插入到MYSQL的T1表里,这这里也可以插入具体值。|@||@| INSERT OPENQUERY(MySQLTest,'select * from t1') select * from TT;|@| INSERT OPENQUERY(MySQLTest,'select * from t1') values (99,99,99);|@| |@| -- 对T1表进行UPDATE操作|@||@| UPDATE OPENQUERY(MySQLTest,'select value from t1') set value=value +100;|@| |@| -- 对T1表进行DELETE 操作,不明白为什么一次只能删除一条,|@||@| DELETE OPENQUERY (MySQLTest, 'SELECT * FROM t1 WHERE hour = 99');|@| DELETE OPENQUERY (MySQLTest, 'SELECT * FROM t1 ');|@| |@| -- DELETE OPENQUERY (MySQLTest, 'SELECT * FROM t1 WHERE hour > 2'); --这样是不行的,报错|@||@| /*|@| 链接服务器"MySQLTest"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "键列信息不足或不正确。更新影响到多行。"。|@|消息 7345,级别 16,状态 1,第 1 行|@|链接服务器 "MySQLTest" 的 OLE DB 访问接口 "MSDASQL" 无法从表 "SELECT * FROM t1 WHERE hour > 2" 删除数据。更新操作不满足架构要求。|@|*/|@| -- 对T1表进行查询操作|@||@| select * from openquery(MySQLTest,'select * from t1');|@| |@| -- 把MYSQL的T1表的记录写回到MSSQL|@||@| insert into TT select * from openquery(MySQLTest,'select * from t1');|@|go|@||@|-- 释放掉链接服务|@||@|EXEC sp_dropserver 'MySQLTest','droplogins'|@|go|@||@||@|一个疑问,为什么一次不能删除多条记录。|@||@|正在找原因。
luoxianglee:不错不错,完美解决了 |@|谢谢分享哈哈
写文章