只读视图
with read only
同义词对象
为 表、视图建立同义词, 避免直接访问
公有: 别的用户直接访问, 不用带模式名
create public synonym public_dept for scott.dept
私有: 别的用户必须带模式名访问
create synonym private_dept for dept;
drop public synonym public_dept;
drop synonym private_dept;
序列
drop sequence keyword_seq;
CREATE SEQUENCE keyword_seq increment by 1 start with 1 CACHE 10000;
NULL
oracle认为 null 最大。
升序排列,默认情况下,null值排后面。
降序排序,默认情况下,null值排前面。
改变空值排序的办法:
(1)用nvl函数或decode函数将null转换为一特定值
替换null: nvl(arg,value)
(2)用case语法将null转换为一特定值(oracle9i以后版本支持。和sqlserver类似):
order by (case mycol when null then‘北京漂客’else mycol end)
(3)使用nulls first 或者nulls last 语法。
null值排序的语法
```
select *
from mytb
order by mycol ASC/DESC nulls first/last
```
字符集
select userenv('language') from dual --查询编码
select lengthb('啊') from dual — 查看当前字符集汉字所占字节
一个汉字占用2个字节: SIMPLIFIED CHINESE_CHINA.ZHS16GBK 如果是以下字符集,一个汉字占用3个字节: SIMPLIFIED CHINESE_CHINA.AL32UTF8
Mysql也一样
不同的是mysql的varchar(100)默认是以字符计算的,而Oracle的varchar2是默认varchar2(100,byte)以字节计算的,而字符串函数substr是以字符计算的,substrb才是以字节计算的