【20150525-20150529】sql、oracle方向总结(truncate、execute、exception、系统视图与表属性)

1、truncate table (使用原因:速度快,效率高,不写日志)

参考:

http://zhidao.baidu.com/link?url=kbl7lBd1f-fFPWU64ZbbAAOdy8snJ6eqJTzV3iEb81MdyTjQugk0TOnJVjyymjh7rTGCTfpCIGMifGmuDi--dK


2、execute[immediate]+[Str]

执行[Str]所表示的语句,常用||进行字符串组织。可于自动化过程中使用


3、exception与return 

常用的对预定义错误的处理:

e.g.

EXCEPTION
   WHEN NO_DATA_FOUND THEN  
      DBMS_OUTPUT.PUT_LINE('数据库中没有编码为'||v_empno||'的员工');
   WHEN TOO_MANY_ROWS THEN
      DBMS_OUTPUT.PUT_LINE('程序运行错误!请使用游标');
   WHEN OTHERS THEN
      DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);

该语句于整个过程中遇到情况时即生效,因此需要使用return跳出procedure,中断对procedure的执行。

典型的错误日志处理语句如下:

e.g.  

 EXCEPTION
     WHEN OTHERS THEN
       v_RetErrFlg := 'E';
       v_RetCode   := v_ErrCode;
       v_Msg       := 'SQLCODE:' || v_TabName || '表' ||
                      SUBSTR(SQLERRM, 1, 500);
       on_Result   := SQLCODE;
       ROLLBACK;
     SP_WriteDetailLog(v_work_date,
                       v_JobName,
                       v_Msg,
                       v_RetCode,
                       v_RetSubCode,
                       v_RetErrFlg);
       RETURN;

其中SQLERRM为错误返回码,仅能在赋予变量后再取变量获取。


3、常用的系统视图

user_tab_colum:查询列属性

user_tables:表属性

其中通过选取table_name 列可以选取对应的表(中的列)


4、data_precision与data_length

data_length:当前列数据类型的字节长度   
            如:EMPNO    NUMBER(4)    22   
               ENAME    VARCHAR2(10) 20   
data_precision:列相关数据类型(数字类型)的具体长度(有效位数),一个十进制数(NUMBER类型),或一个二进制树(FLOAT类型)

      在number类型中为其整数部分   
               如:SAL      NUMBER(7,2)   7  

值得注意的是varchar2(n)类型的长度为2n


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值