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-阿里云