新聞中心
描述
該語句用來創(chuàng)建一個同義詞。

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)克拉瑪依區(qū),10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
格式
CREATE [ OR REPLACE ] [ PUBLIC ]
SYNONYM [ schema. ]synonym
FOR [ schema. ]object;參數(shù)說明
|
參數(shù) |
描述 |
|---|---|
OR REPLACE |
表示如果要創(chuàng)建的同義詞名稱已存在,則使用新的定義重新創(chuàng)建同義詞。 |
PUBLIC |
指定 PUBLIC 來創(chuàng)建公共同義詞,所有用戶都可以使用。用戶必須對基礎(chǔ)對象具有相應(yīng)的權(quán)限才能使用該同義詞。 在解析對象的引用時,僅當(dāng)對象沒有指定 schema 時,才會使用公共同義詞。 如果不指定 PUBLIC,則同義詞是私有的,只能當(dāng)前 schema訪問,并且同義詞名稱在當(dāng)前 schema 中必須唯一。 |
[ schema. ]synonym |
schema 指定當(dāng)前同義詞屬于哪個 schema,如果指定了 PUBLIC,則對同義詞不需要指定 schema;synonym 表示同義詞的名稱。 |
[ schema. ]object |
表示同義詞對應(yīng)對象的名稱。 |
示例
-
創(chuàng)建一個同義詞。
OceanBase(TEST@TEST)>create table t1(c1 int);
Query OK, 0 rows affected (0.11 sec)
OceanBase(TEST@TEST)>create synonym s1 for t1;
Query OK, 0 rows affected (0.04 sec)
OceanBase(TEST@TEST)>insert into s1 values(1);
Query OK, 1 row affected (0.04 sec)
OceanBase(TEST@TEST)>select * from s1;
+------+
| C1 |
+------+
| 1 |
+------+
1 row in set (0.02 sec)-
創(chuàng)建一個 PUBLIC 同義詞
OceanBase(TEST@TEST)>create public synonym syn_pub for t1;
Query OK, 0 rows affected (0.04 sec)
OceanBase(TEST@TEST)>select * from syn_pub;
+------+
| C1 |
+------+
| 1 |
+------+
1 row in set (0.01 sec)注意事項
創(chuàng)建同義詞時,需要滿足如下權(quán)限要求:
-
在當(dāng)前的 schema 下創(chuàng)建私有的 synonym,需要 CREATE SYNONYM 權(quán)限
-
在非當(dāng)前 schema 下創(chuàng)建私有的 synonym,需要 CREATE ANY SYNONYM 權(quán)限
-
創(chuàng)建 PUBLIC 的 synonym,需要 CREATE PUBLIC SYNONYM 權(quán)限
-
對于需要創(chuàng)建 synonym 的對象不需要存在,也不需要具有訪問權(quán)限
// 創(chuàng)建synonym_user
OceanBase(TEST@TEST)>CREATE USER synonym_user IDENTIFIED BY synonym_user;
Query OK, 0 rows affected (0.04 sec)
OceanBase(TEST@TEST)>grant CREATE on test.* to synonym_user;
Query OK, 0 rows affected (0.05 sec)
OceanBase(TEST@TEST)>grant SELECT on test.* to synonym_user;
Query OK, 0 rows affected (0.02 sec)
// 連接synonym_user
OceanBase(SYNONYM_USER@TEST)>create or replace synonym s1 for t1;
ERROR-00600: internal error code, arguments: -5036, Access denied; you need (at least one of) the CREATE SYNONYM privilege(s) for this operation
// 重新給定CREATE SYNONYM權(quán)限
OceanBase(TEST@TEST)>grant CREATE SYNONYM on *.* to synonym_user;
Query OK, 0 rows affected (0.03 sec)
OceanBase(SYNONYM_USER@TEST)>create synonym s1 for t1;
Query OK, 0 rows affected (0.07 sec) 網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)OceanBase教程:OceanBaseCREATESYNONYM
瀏覽地址:http://www.dlmjj.cn/article/djjgigo.html


咨詢
建站咨詢
