Oracle知识积累

只读视图

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才是以字节计算的

你可能感兴趣的:(Oracle知识积累)