读书人

合并字符串的奇怪有关问题

发布时间: 2012-03-04 11:13:33 作者: rapoo

合并字符串的奇怪问题

图上覆盖掉的IP就是当前IP,执行出来的结果不一样。
也就是说第二个肯定也有循环,但是只能抓到最后一笔记录。谁帮忙解释下

[解决办法]
第二条不要赋值,直接查出来有几条
[解决办法]
貌似远程不会做累加的动作。。。
[解决办法]
第二条没有给@AllEmailAddressTo2赋初值,最后的执行结果应该是NULL吧
可是楼主的结果不是NULL,为什么呢
[解决办法]
远程的问题。。

参考一下这个方法

参考:

SQL code
create table #t(a varchar(20))insert into #t (a)SELECT 字段 FROM OPENROWSET('SQLNCLI', 'Server=远程IP;Uid=sa;Pwd=pwd',  'select * from dbname.dbo.tablename where ...') AS a;  goselect * from #t
[解决办法]
这个应该要先创建链接服务器的吧?
[解决办法]
按以下方法

SQL code
--程接操作/******************************************************************************************************************************************************Tab表:/*ID 自增列         Name----------- ---------1           a2           b3           c*/存程:/*create proc Passelect top 10 ID,Name from sysobjects*/整理人:中(Roy)日期:2008.06.06******************************************************************************************************************************************************/--程接服器器名:Roy;例名:Roy\SQL2005DE;登名:sa;密:Test2005;--建接服器EXEC master.dbo.sp_addlinkedserver @server = N'ROY_LNK', @srvproduct=N'ROY_LNK', @provider=N'SQLOLEDB', @datasrc=N'Roy\SQL2005DE'--SQL05可用SQLNCLI\SQLOLEDBGOEXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ROY_LNK', @locallogin = NULL , @useself = N'False', @rmtuser = N'sa', @rmtpassword = N'Test2005'GO--除接服器--exec sp_dropserver 'roy_lnk','droplogins'--Selectselect * from roy_lnk.test.dbo.Tab--insertinsert roy_lnk.test.dbo.Tab(Name)--指定列Values('d')--updateupdate roy_lnk.test.dbo.Tab set Name='DD' where Name='d'--delete delete roy_lnk.test.dbo.Tab where Name='DD'用openrowset:--支持存程select *from openrowset('SQLOLEDB','Roy\SQL2005DE';'sa';'Test2005','test.dbo.p')a--select select *from openrowset('SQLOLEDB','Roy\SQL2005DE';'sa';'Test2005',test.dbo.Tab)a--insertinsert openrowset('SQLOLEDB','Roy\SQL2005DE';'sa';'Test2005',test.dbo.Tab)(Name)values('EE')--update update openrowset('SQLOLEDB','Roy\SQL2005DE';'sa';'Test2005',test.dbo.Tab) set Name='EEE' where Name=N'EE'--deletedelete openrowset('SQLOLEDB','Roy\SQL2005DE';'sa';'Test2005',test.dbo.Tab) where Name=N'EEE'用openquery:--支持存程--支持存程select *  from openquery(roy_lnk, 'test.dbo.P')--selectSELECT * FROM openquery(roy_lnk, 'SELECT * FROM test.dbo.tab') --insertinsert openquery(roy_lnk, 'SELECT * FROM test.dbo.tab') (Name) values('F')--update update openquery(roy_lnk, 'SELECT * FROM test.dbo.tab') set Name='FF' where Name='F'--delete不支持是根 OLE DB 提供者的功能而定--delete openquery(roy_lnk, 'SELECT * FROM test.dbo.tab')  where Name='FF' 用OPENDATASOURCE:--支持存程select *  from OPENDATASOURCE('SQLOLEDB','Data Source=Roy\SQL2005DE;User ID=sa;Password=Test2005').'test.dbo.p' --selectselect *  from OPENDATASOURCE('SQLOLEDB','Data Source=Roy\SQL2005DE;User ID=sa;Password=Test2005').test.dbo.tab --insertinsert OPENDATASOURCE('SQLOLEDB','Data Source=Roy\SQL2005DE;User ID=sa;Password=Test2005').test.dbo.tab(Name) values('H')--updateupdate OPENDATASOURCE('SQLOLEDB','Data Source=Roy\SQL2005DE;User ID=sa;Password=Test2005').test.dbo.tab set Name='HH' where Name='H'--delete delete OPENDATASOURCE('SQLOLEDB','Data Source=Roy\SQL2005DE;User ID=sa;Password=Test2005').test.dbo.tab where Name='HH'--本表比用名select * from roy_lnk.test.dbo.Tab a join tab b on a.ID=b.ID 

读书人网 >SQL Server

热点推荐