--打开执行器时间: 1、 在命令行中输入set timing on 然后执行sql语句 2、打开文本输出 set serveroutput on; 3、清除缓冲区: alter system flush buffer_cache 4、清楚共享池 alter system flush shared_pool --创建视图 create or replace view xm_view001 as select * from bureau_state --调用视图 select * from xm_view001 2.SELECT INTO STATEMENT --将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DATA_FOUND THEN xxxx; END; ... 3.IF 判断 IF V_TEST=1 THEN BEGIN do something END; END IF; 4.while 循环 WHILE V_TEST=1 LOOP BEGIN XXXX END; END LOOP; 5.变量赋值 V_TEST := 123; 6.用for in 使用cursor ... IS CURSOR cur IS SELECT * FROM xxx; BEGIN FOR cur_result in cur LOOP BEGIN V_SUM :=cur_result.列名1+cur_result.列名2 END; END LOOP; END; 7.带参数的cursor CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID; OPEN C_USER(变量值); LOOP FETCH C_USER INTO V_NAME; EXIT FETCH C_USER%NOTFOUND; do something END LOOP; CLOSE C_USER; 8.用pl/sql developer debug 连接数据库后建立一个Test WINDOW 在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试 9、取值范围 between 0 and 100 10、删除重复记录最高效的方法 delete from aaa a where rowid > (select min(rowid) from aaa b where a.name = b.name and a.id = b.id) 11、oracle数据库MD5加密 declare v_out Varchar2(300); v_str varchar2(30); begin v_str:='111111'; v_out:=rawtohex(utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string =>v_str))); dbms_output.put_line(v_out); end; 12、oracle分组合并 create table test2 (col_1 char,col_2 char); insert into test2 values(1,2); insert into test2 values(1,3); insert into test2 values(2,4); insert into test2 values(2,5); select col_1,wmsys.wm_concat(col_2) col_2 from test2 group by col_1; 13.向数据库插入sys.xmlType数据 insert into person_extend (psn_code, PSN_XML) values (1090019358, sys.xmlType.createXML('<?xml version="1.0" encoding="UTF-8" standalone="no"?><data version="1.0"><basic_info version="1"><zh_name>你没</zh_name><org_name>xxx</org_name><prof_title_name>cfasf</prof_title_name><prof_title_value>0</prof_title_value><card_type_value>1</card_type_value><gender_value></gender_value><birthday></birthday><card_type_name>dasdf</card_type_name><card_code>421302198711161623</card_code></basic_info><contact version="1"><email>[email protected]</email><mobile>15013279494</mobile><tel_work>020-83302282</tel_work></contact><valid><valid_email>1</valid_email><valid_card>0</valid_card></valid></data>'))
oracle-笔记
猜你喜欢
转载自x125858805.iteye.com/blog/1566567
今日推荐
周排行