iT邦幫忙

0

[SQL]用OPENQUERY,跟直接QUERY有何不同

透由OPENQUERY

   SELECT * FROM OPENQUERY([192.168.1.1]
  ,'SELECT * from databse.dbo.table ')

直接QUERY
SELECT * from [192.168.1.1].databse.dbo.[table]

為什麼要用OPENQUERY呢.
直接不QUERY呢?select 放在''裡,除錯不太方便啊
速度比較快?

1 個回答

0
dog830228
iT邦研究生 4 級 ‧ 2018-01-08 13:37:00
最佳解答

QUERY 語法只限本台主機
OPENQUERY 語法可以跨主機 (在DB linkServer可設置)

https://docs.microsoft.com/zh-tw/sql/t-sql/functions/openquery-transact-sql

看更多先前的回應...收起先前的回應...
圓頭人 iT邦新手 5 級 ‧ 2018-01-08 17:33:03 檢舉

但也可以寫成這樣SELECT * from [192.168.1.1].databse.dbo.[table]
用OPENQUERY的主要用意是什麼呢?

小魚 iT邦好手 1 級 ‧ 2018-01-08 19:36:00 檢舉

原來可以用Open Query啊,我都是用上面這個方式...

dog830228 iT邦研究生 4 級 ‧ 2018-01-18 11:28:12 檢舉

如果是MSSQL連MSSQL 使用OPENQUERY和一般QUERY就沒差
但如果是MSSQL連oracle 且需要使用oracle特殊語法
你就必須使用OPENQUERY 用一般QUERY無法執行

圓頭人 iT邦新手 5 級 ‧ 2018-01-22 08:57:43 檢舉

原來如此,謝謝^^dog830228

我要發表回答

立即登入回答