Oracle的@與‧的差別在哪裡?
請問假設在Oracle中有一個Schema為SCH1中有一個資料表為TAB1。
我要做一個視表(VIEW),使用下面兩種方法都可以
方法一:SELECT * FROM SHC1.TAB1
方法二:SELECT * FROM TAB1@SCH1
這用‧與@的差別在哪裡?有時候方法一可以建起VIEW,方法二不可以。有時方法二可以,方法一就不可以?
這用‧與@的差別到底在哪裡?
1 個解答
評分
- 悅文Lv 61 0 年前最佳解答
在 oracle sql 語法中
schema.object@dblink
. 表示 前面是 schema,後面是 object
@表示 前面是 object,後面是 dblink.
object有 table,index,view,store procedure ..... 等.
但在 view 中 object 只能用 table or view
dblink 表示要跨資料庫.
若你建 view 時有跨資料庫.
則最好 用 sch1.tab1@sch1
在 local 資料庫 建立 dblink -->sch1
remote 資料庫 有 schema -->sch1 ,table ----> tab1
記得授權給 dblink connect user
方法一不行,是用在有跨資料庫時.
方法二不行,是用在單一資料庫時,不可用 dblink.
參考資料: my
還有問題?馬上發問,尋求解答。