881
阿裏雲
set語句__數據庫管理語言_SQL語法參考_雲數據庫 OceanBase-阿裏雲
設置字符集
字符集是一套符號和編碼。校對規則是在字符集內用於比較字符的一套規則。
OceanBase 1.0支持utf8mb4字符集,utf8mb4是utf8的超集,最大編碼長度4字節,最大有效位數21比特。與utf8相比,utf8mb4支持ios表情符號等新字符。通常將utf8支持的字符稱為BMP(Basic Multilingual Plane),將utf8mb4新增支持的字符稱為擴展集。
用戶可以在租戶級、Database級、表級、字段級、session級設置字符集,因OceanBase 1.0隻支持utf8mb4這一種字符集,通常不需要用戶去單獨設置字符集。
在OceanBase 1.0中,utf8mb4字符集對應的collation支持utf8mb4_bin、utf8mb4_general_ci這二種,默認為utf8mb4_general_ci。主要不同點是對排序和字符串比較有影響,其中utf8mb4_bin大小寫敏感、utf8mb4_general_ci大小寫不敏感。
修改用戶變量
用戶變量用於保存一個用戶自定義的值,以便於在以後引用它,這樣可以將該值從一個語句傳遞到另一個語句。用戶變量與連接有關,即一個客戶端定義的用戶變量不能被其它客戶端看到或使用,當客戶端退出時,該客戶端連接的所有變量將自動釋放。
格式
SET @var_name = expr;
用戶變量的形式為@var_name,其中變量名var_name可以由當前字符集的文字數字字符、“.”、“_”和“$”組成。
每個變量的expr可以為整數、實數、字符串或者NULL值。
同時定義多個用戶變量時,用“,”隔開。
舉例
設置用戶變量
Oceanbase>SET @a=2, @b=3;
Query OK, 0 rows affected (0.01 sec)
Oceanbase>SET @c = @a + @b;
Query OK, 0 rows affected (0.00 sec)
查看用戶變量:
Oceanbase>SELECT @a, @b, @c;
+------+------+------+
| @a | @b | @c |
+------+------+------+
| 2 | 3 | 5 |
+------+------+------+
1 row in set (0.01 sec)
或者通過select語句設置用戶變量:
Oceanbase> SELECT @a:=2, @b:=3, @c:=@a+@b;
+-------+-------+-----------+
| @a:=2 | @b:=3 | @c:=@a+@b |
+-------+-------+-----------+
| 2 | 3 | 5 |
+-------+-------+-----------+
1 row in set (0.01 sec)
修改係統變量
係統變量和SQL功能相關,存放在“__all_sys_variable”表中,如autocommit,tx_isolation等。
OceanBase維護兩種變量:
全局變量
影響OceanBase整體操作。當OceanBase啟動時,它將所有全局變量初始化為默認值。修改全局變量,必須具有SUPER權限。
會話變量
影響當前連接到OceanBase的客戶端。在客戶端連接OceanBase時,使用相應全局變量的當前值對該客戶端的會話變量進行初始化。設置會話變量不需要特殊權限,但客戶端隻能更改自己的會話變量,而不能更改其它客戶端的會話變量。
全局變量的更改不影響目前已經連接的客戶端的會話變量,即使客戶端執行SET GLOBAL語句也不影響。
格式
設置全局變量的格式:
SET GLOBAL system_var_name = expr;
或者
SET @@GLOBAL.system_var_name = expr;
設置會話變量的格式:
SET [SESSION | @@SESSION. | LOCAL | LOCAL. | @@]system_var_name =expr;
查看係統變量值的格式,如果指定GLOBAL或SESSION修飾符,則分別打印全局或當前會話的係統變量值;如果沒有修飾符,則顯示當前會話值:
SHOW [GLOBAL | SESSION]
VARIABLES
[LIKE 'system_var_name' | WHERE expr];
舉例
- 執行以下命令,修改會話變量中的SQL超時時間。
SET @@SESSION.ob_tx_timeout = 900000;
- 執行以下命令,查看“ob_trx_timeout”的值。
Oceanbase>show variables like 'ob_trx_timeout';
+----------------+-----------+
| Variable_name | Value |
+----------------+-----------+
| ob_trx_timeout | 100000000 |
+----------------+-----------+
1 row in set (0.02 sec)
同樣可以使用select語句查詢變量的值。
Oceanbase>select @@ob_trx_timeout;
+------------------+
| @@ob_trx_timeout |
+------------------+
| 100000000 |
+------------------+
1 row in set (0.00 sec)
最後更新:2016-11-24 11:23:47
上一篇:
用戶及權限管理__數據庫管理語言_SQL語法參考_雲數據庫 OceanBase-阿裏雲
下一篇:
事務處理語言__SQL語法參考_雲數據庫 OceanBase-阿裏雲
登錄 Windows 實例__遠程連接_實例_用戶指南_雲服務器 ECS-阿裏雲
ListLogstore__日誌庫相關接口_API-Reference_日誌服務-阿裏雲
安全事件預警__態勢感知場景教程_態勢感知-阿裏雲
SQL Server不停機遷移__數據遷移_用戶指南_數據傳輸-阿裏雲
阿裏雲新一代關係型數據庫 PolarDB
MQTT 名詞解釋__MQTT 接入(物聯)_消息隊列 MQ-阿裏雲
帶寬跑滿__故障處理_雲服務器 ECS-阿裏雲
雲盾高防IP計費方式___購買指導_DDoS 高防IP-阿裏雲
籃球動作視頻識別__阿裏雲ET介紹-阿裏雲
路況預測__解決方案_平台介紹_數加平台介紹-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲