萌萌妈妈 发表于 2015-1-16 22:38:07

MSSQL编程:关于跨分歧服务器的sql剧本实行言语的摘...

也就是说在php本地调用pdoprepare中的mysql_real_escape_string来操作query,使用的是本地单字节字符集,即编码为xbfx5cx27,并带入到mysql中查询,由于使用setnames设置了连接字符集.服务器|剧本|实行
关于相干的数据库剧本的手动实行的数据互导功效!

关头的重点在于创建的毗连干系,毗连创建好后实行的数据库相干的剧本完成就便利的多了~~~~

1。从一个数据库的一张表B中向别的的一个数据库的表A(最少有不异的字段属性,或字段值)

insertintoA(字段1,字段2。。。字段n)

select字段1,字段2,120,...字段n

fromOPENDATASOURCE(SQLOLEDB,DataSource=B地点的服务器;UserID=用户名;Password=上岸口令).B库.dbo.B表

where字段1=?and...

该操纵一样平常用在查询剖析器中!

2。游标的使用,在服务器间传送数据的值

declare@GEN_IDnvarchar(4000)

declare@QUANnvarchar(4000)

declare@FEE_STATUS_OPERATORnvarchar(4000)

declare@FEE_STATUS_OPERATETIMEnvarchar(4000)

declare@status_operateidnvarchar(4000)

declare@client_snamenvarchar(4000)

BEGINTRANSTATUS

declareUSRcursorforselectd.字段1,d.字段2fromOPENDATASOURCE(

SQLOLEDB,

DataSource=服务器1;UserID=;Password=

).库1.dbo.表1asginnerjoinOPENDATASOURCE(

SQLOLEDB,

DataSource=服务器1;UserID=;Password=

).库1.dbo.表1asdong.字段1=d.字段1innerjoinOPENDATASOURCE(

SQLOLEDB,

DataSource=服务器1;UserID=;Password=

).库2.dbo.表1‘assong.字段1=s.字段1whereg.字段2=0andg.字段3=0ands.字段4=6

openUSR

fetchnextfromUSRinto@GEN_ID,@QUAN

WHILE@@FETCH_STATUS=0

BEGIN

update库A.dbo.表set字段=@QUANwhere字段1=rtrim(@GEN_ID)

fetchnextfromUSRinto@GEN_ID,@QUAN

end

closeUSR

deallocateUSR



declareUSR1cursorforselect字段1,字段2,120,...字段n

fromOPENDATASOURCE(

SQLOLEDB,

DataSource=服务器1;UserID=;Password=

).库1.dbo.表1asginnerjoinOPENDATASOURCE(

SQLOLEDB,

DataSource=服务器1;UserID=;Password=

).库1.dbo.表1asdong.字段1=d.字段1

whereg.字段2=0andg.字段3=0ands.字段4=6

openUSR1

fetchnextfromUSRinto@GEN_ID,@FEE_STATUS_OPERATOR,@FEE_STATUS_OPERATETIME,@status_operateid,@client_sname

WHILE@@FETCH_STATUS=0

BEGIN

insertintoA(字段1,字段2。。。字段n)

values(@GEN_ID,2,0,@FEE_STATUS_OPERATOR,@FEE_STATUS_OPERATETIME,@status_operateid,@client_sname)



fetchnextfromUSR1into@GEN_ID,@FEE_STATUS_OPERATOR,@FEE_STATUS_OPERATETIME,@status_operateid,@client_sname

end

closeUSR1

deallocateUSR1



----------------申明关于游标的使用能够屡次,独一的弱点的就是实行的工夫太长!关于这方面要衡量思索!





if(@@error0)

begin

rollbacktranSTATUS

end

else

begin

committranSTATUS

end

------------事物处置
刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码

不帅 发表于 2015-1-19 19:50:24

可以动态传入参数,省却了动态SQL的拼写。

爱飞 发表于 2015-1-28 10:13:15

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

变相怪杰 发表于 2015-2-5 17:17:31

groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。

小女巫 发表于 2015-2-13 01:09:26

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

灵魂腐蚀 发表于 2015-3-3 12:08:59

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

冷月葬花魂 发表于 2015-3-11 11:00:41

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

谁可相欹 发表于 2015-3-18 07:20:07

我个人认为就是孜孜不懈的学习

分手快乐 发表于 2015-3-25 13:10:20

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
页: [1]
查看完整版本: MSSQL编程:关于跨分歧服务器的sql剧本实行言语的摘...