oracle使用笔记

发布 2021-05-11 23:53:28 阅读 8809

create table sy_form_button_bak as select * from sy_form_button

insert into sy_user

select * from sy_user_bak

update fa_fault_recode_new a set user_name from sy_user b where

where exists (select 1

from sy_user b

where

create table it_suppliers_one as

select dataid from it_suppliers a group by

delete from it_suppliers a

where !=

select from it_suppliers_one b

where =

没有直接的统计的函数,但是可以这么做:

s0:源字符串

s1:某个字符串

则s1在s0中的个数为:

length(s0)-length(replace(s0,s1,''

-- create sequence

create sequence seq_gz_zdsg

minvalue 1

maxvalue 999999999999999999999999999

start with 30

increment by 1

nocache

order;

-触发器插入主键。

create or replace trigger trigger_gz_zdsg

before

insert

on gz_zdsg

for each row

beginselect seq_gz_

into from dual;

end;--存储过程。

create or replace procedure print11(msg varchar2)

isbegin

dbms_end;

第二个存储过程。

create or replace procedure user_syn as

cursor sy_orgs is

select * from test_org1;

beginfor sy_org_one in sy_orgs loop

execute immediate 'insert into test_org2(org_code,org_name,beizhu) values (:1,:2,:3)'

using sy_org_ sy_org_ sy_org_

commit;

end loop;

end;--调用存储过程。

execute print11('helloworld');注意:这种执行存储过程的方式只能在sqlpus命令模式下执行);

--传递参数。

create or replace procedure myabs(p_num1 in number,p_num2 out number)

isbegin

if p_num1 >0 then

p_num2 :=p_num1;

elsep_num2 :=0 - p_num1);

end if;

end;--调用。

declare

v_result number;

beginmyabs(-987,v_result);

print11(v_result);

end;begin

dbms_'helloword');

end;select owner,trigger_name,table_name

from dba_triggers

where table_name='sy_user';

常用函数:substr和instr

求子字符串,返回字符串。

解释:string 元字符串。

start_position 开始位置(从0开始)

length 可选项,子字符串的个数。

for example:

substr("abcdefg", 0); 返回:abcdefg,截取所有字符

substr("abcdefg", 2); 返回:cdefg,截取从c开始之后所有字符

substr("abcdefg", 0, 3); 返回:abc,截取从a开始3个字符

substr("abcdefg", 0, 100); 返回:abcdefg,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符

串最大数量返回。

substr("abcdefg", 0, -3); 返回:efg,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。

查找字符串位置。

解释:string:源字符串。

substring:要查找的子字符串。

position:查找的开始位置。

ocurrence:源字符串中第几次出现的子字符串。

for example:

instr('corporate floor','or', 3, 2)中,源字符串为'corporate floor', 目标字符串为'or',起始位置为3,取第2个匹配项的位

置;返回结果为 14 '

字符串转为数字用to_number函数,例如。

to_number('1210.73')就得到1210.73

数字转为字符串用to_char函数,例如。

to_char(1210.73)就得到'1210.73'

两个函数都可以设定转换的格式,例如。

to_char(1210.73, '9,999.00')就得到'$1,210.73'

在大多数时候我们在设计程序的时候都遵循下面的步骤: 1、打开游标 2、开始循环 3、从游标中取值 4、检查那一行被返回 5、处理 6、关闭循环 7、关闭游标。

例如:decalre

cursor c_dept is select deptno,dname from dept order by deptno;

cursor c_emp (p_dept varachar2) is select ename,salary from emp where deptno=p_dept order by ename

v_tot_salary

begin

for r_dept in c_dept

loop dbms_'department:'|r_'-r_

v_tot_salary:=0;

for r_emp in c_emp(r_

loop dbms_'name:'|v_ename||'salary:'|v_salary);

v_tot_salary:=v_tot_salary+v_salary;

end loop;

dbms_'toltal salary for dept:'|v_tot_salary);

end loop;

end;循环的使用。

for i in 1 ..v_ loop

execute immediate 'delete from ' v_tabarr(i)

v_tablename ||where ' v_tabarr(i)

v_ry_code ||1'

using v_rycode;

end loop;

ASP高级应用笔记

asp高级应用课程笔记。目录。第一讲 asp高级应用课程简介 2 1 意义 2 2 课程建议 2 第二讲 asp基础 3 1 web基础 3 2 动态网页及其执行过程 3 3 asp简介 3 4 dreamwe er的配置 5 第三讲 规划 6 第四讲 后台登录功能 7 1 创建数据库 7 2 设计...

超强英语实用笔记

than 而不是 与其 宁愿。1 常用于 平行语结构中 rather than 前后两部分语法应该一致,如 a the job will take months rather than weeks.两个名词 b the decision was taken for political rather ...

oracle笔记

1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...