oracle 使用心得
-
varchar2 存储上限是4000个字符,32KB,存储汉字会占用更多空间
-
nvarchar2存储上限是2000个字符
-
如果要存储超过以上限制的字符就需要 clob 类型,这个是大数据类型,该类型的上限是 4GB ,但是这个应该慎用,导入数据明显速度很慢
-
sqlload 导入的字符类型默认大小为 250 个字符,想要更大的类型就需要更改默认选项,ctl 文件中改为 char(4000)
-
function和procedure二者最大的区别是:
1).函数(function)总是向调用者返回数据,并且一般只返回一个值;
2).存储过程(procedure)不直接返回数据,但可以改变输出参数的值,这可以近似看作能返回值,且存储过程输出参数的值个数没有限制。
从一般应用上来看,如果不需要返回值或者需要多个返回值,使用存储过程,如果只用一个返回值,就使用函数。
2、function定义中只能有DDL(如select等)语句;procedure中主要是DML语句(对数据库进行复杂操作时,如对多个表进行Update、Insert、Query、Delete时)。
如果想要使用select的结果集,则要使用游标
-
查看分区信息:
select * from USER_PART_TABLES; --查看所有分区
select * from USER_TAB_PARTITIONS; --查看分区明细
-
常见sql语句:
update 表名 set 列名1=值1,列名2=值2,列名3=值3..... where 条件
rank() over (partition by b.USER_ID_A order by b.INNET_DATE) flag --分组
-
常见报错
ORA-0600:内部错误代码,参数: qctbyt: bfe,汉字引起的加一个to_nchar