跨数据库条件查询语法
利用openrowset进行两个SQL2000之间的数据库的查询,在SQL的HELP里是这样写的:
SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname ') AS a
没有问题
可是在实际应用中会在Select中增加条件,也就是说是要这样写的:
SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors where au_lname= ' ' ORDER BY au_lname, au_fname ') AS a
当以上述格式执行时就会报语法错误,错误点在WHERE条件上,现在就这个条件怎么写才可以通过?
------解决方案--------------------SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors where pubs.dbo.authors.au_lname= ' ' ORDER BY pubs.dbo.authors.au_lname, pubs.dbo.authors.au_fname ') AS a
------解决方案--------------------没搞过```等高人来```学习中```````
------解决方案--------------------條件寫在外面試試
SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname ') AS a
where au_lname= ' '
------解决方案--------------------将 OPENROWSET 用于 SELECT 和 SQL Native Client OLE DB 访问接口
以下示例使用 SQL Native Client OLE DB 访问接口 (SQLNCLI) 访问 HumanResources.Department 表,该表位于远程服务器 Seattle1 上的 AdventureWorks 数据库中。使用 SELECT 语句定义返回的行集。访问接口字符串包含 Server 和 Trusted_Connection 关键字。这些关键字由 SQL Native Client OLE DB 访问接口识别。
复制代码
SELECT a.*
FROM OPENROWSET( 'SQLNCLI ', 'Server=Seattle1;Trusted_Connection=yes; ',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks.HumanResources.Department
ORDER BY GroupName, Name ') AS a;
看下这个
------解决方案--------------------SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors where au_lname= ' ' ' ' ORDER BY au_lname, au_fname ') AS a
--改成 ' ' ' ',引号内部的引号 '用 ' '表示
------解决方案--------------------SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors where au_lname= ' ' ' ' ORDER BY au_lname, au_fname ') AS a
------解决方案--------------------2个 '号表示输入一个 '
------解决方案--------------------一個單引號用兩個單引號代替