Oracle SQL语句大全(三)

例子2: SQL> declare
2 v_name varchar2(20); 
3 begin 
4 v_name:=‘myname‘; 
5 dbms_output.put_line(v_name); 6 end; 7 / myname 例子3: SQL> declare 
2 v_num number:=0; 3 begin 
4 v_num:=2/v_num; 
5 dbms_output.put_line(v_num); 6 end; 7 / 
declare * 
ERROR 位于第 1 行: ORA-01476: 除数为 0 ORA-06512: 在line 4 例子4: 
declare 
v_num number:=0; 
begin 
v_num:=2/v_num; 
dbms_output.put_line(v_num); exception when others then 
dbms_output.put_line(‘error‘); end; / 
变量声明的规则 
1.变量名不能够使用保留字,如from,select等 2.第一字符必须是字母。 3.变量名最多包含30个字符 
4.不要与数据库的表或者列同名 5.每一行只能声明一个变量 
常用变量类型 
1. binary_interger,整数,主要用来计数,而不是用来表示字段类型2. number 数字类型3. char   定长字符串 4. varchar2 变长字符串 
5. date     日期 
6.long     长字符串,最长2GB 
7.boolean   布尔类型,可以取true false 和null的值 例5: declare 
    v_temp number(1); 
    v_count binary_integer:=0;     v_sal number(7,2):=4000.00;       v_date date:=sysdate; 
    v_pi constant number(3,2):=3.14;      v_valid boolean:=false; 
    v_name varchar2(20) not null:=‘myname‘; begin 
    dbms_output.put_line(‘v_temp value:‘||v_temp); end; 
用--可以注释一行 例6: declare 
    v_empno number(4);     v_empno2 emp.empno%type;     v_empno3 v_empno2%type; 

begin 
    dbms_output.put_line(‘test‘); end; 例7 
table变量类型 set serveroutput on; 
declare 
     type type_table_emp_empno is table of emp.empno%type index by binary_integer;      v_empnos type_table_emp_empno; 

begin 
     v_empnos(0):=7369;           v_empnos(2):=7869; 
     v_empnos(-1):=9999; 
     dbms_output.put_line(v_empnos(-1)); end; 例8 
Record 变量类型 set serveroutput on; declare 
   type type_record_dept is record    ( 
      deptno dept.deptno%type, 
      dname   dept.dname%type,       loc     dept.loc%type     ); 
    v_temp type_record_dept; begin 
    v_temp.deptno:=50;     v_temp.loc:=‘aaaa‘; 
    v_temp.loc:=‘bj‘; 
    dbms_output.put_line(v_temp.deptno||‘ ‘||v_temp.dname); 

end;
例9:  使用%rowtype声明record变量(表结构的变化同时也能代理储存过程的变化) set serveroutput on; declare  v_temp dept%rowtype; begin      v_temp.deptno:=50;      v_temp.loc:=‘aaaa‘;       v_temp.loc:=‘bj‘;      dbms_output.put_line(v_temp.deptno||‘ ‘||v_temp.dname); end; 例10;  declare  v_name emp.ename%type;       v_sal emp.sal%type; 

begin

  select ename,sal into v_name,v_sal from emp where empno=7369;(将ename和sal的值放在v_name和v_sal里面)end;例11: 
declare 
v_name emp.ename%type; v_sal emp.sal%type; 
begin 
select ename,sal into v_name,v_sal from emp where empno=7369; dbms_output.put_line(v_name||‘ ‘||v_sal); end; 
dbms_output.put_line(v_name||‘ ‘||v_sal); 

end; 

例12: declare 
v_deptno dept.deptno%type:=50; v_dname dept.dname%type:=‘aaaa‘; 
v_loc    dept.loc%type:=‘bj‘; 
begin 
insert into dept2 values(v_deptno,v_dname,v_loc); commit; end; 

例13: 
declare 
v_deptno emp2.deptno%type:=50; v_count number; 
begin 
update emp2 set sal=sal/2 where deptno=v_deptno; 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘);(sql为关键字,代表上一条语句 commit; end; / 例14: 
declare 
v_deptno emp2.deptno%type:=50; v_count number; 
begin 
--update emp2 set sal=sal/2 where deptno=v_deptno; 
   select deptno into v_deptno from emp2 where empno=7369; 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘);(sql为关键字,代表上一条语句 commit; 

end; / 例15 
declare 
v_deptno emp2.deptno%type:=50; v_count number; begin 
--update emp2 set sal=sal/2 where deptno=v_deptno; 
--select deptno into v_deptno from emp2 where empno=7369; 
select count(*) into v_count from emp2;          (select必须和into一起使用) 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘); 

commit; 
end; / 
PL/SQL里面执行DDL语句 
begin 
execute immediate ‘create table T(nnn varchar2(20) default ‘‘aaa‘‘)‘; 

例11: 
declare 
v_name emp.ename%type; v_sal emp.sal%type; 
begin 
select ename,sal into v_name,v_sal from emp where empno=7369; dbms_output.put_line(v_name||‘ ‘||v_sal); end; 
dbms_output.put_line(v_name||‘ ‘||v_sal); end; 例12: declare 
 v_deptno dept.deptno%type:=50; v_dname dept.dname%type:=‘aaaa‘; 
 v_loc    dept.loc%type:=‘bj‘; 
begin 
insert into dept2 values(v_deptno,v_dname,v_loc); commit; end; 例13: 
declare 
v_deptno emp2.deptno%type:=50; v_count number; 
begin 
update emp2 set sal=sal/2 where deptno=v_deptno; 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘);(sql为关键字,代表上一条语句 commit; end; / 例14: 
declare 
 v_deptno emp2.deptno%type:=50; v_count number; 
begin 
--update emp2 set sal=sal/2 where deptno=v_deptno; 
   select deptno into v_deptno from emp2 where empno=7369; 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘);(sql为关键字,代表上一条语句 commit; end; / 例15 
declare 
v_deptno emp2.deptno%type:=50; v_count number; 

begin 
--update emp2 set sal=sal/2 where deptno=v_deptno; 
--select deptno into v_deptno from emp2 where empno=7369; 
select count(*) into v_count from emp2;                        (select必须和into一起使用) 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘); commit; 
end; / 
PL/SQL里面执行DDL语句 
begin 
execute immediate ‘create table T(nnn varchar2(20) default ‘‘aaa‘‘)‘; 例11: 
declare 
v_name emp.ename%type; v_sal emp.sal%type; 
begin 
select ename,sal into v_name,v_sal from emp where empno=7369; dbms_output.put_line(v_name||‘ ‘||v_sal); end; 
dbms_output.put_line(v_name||‘ ‘||v_sal); end; 例12: declare 
v_deptno dept.deptno%type:=50; v_dname dept.dname%type:=‘aaaa‘; 
v_loc    dept.loc%type:=‘bj‘; 
begin 
insert into dept2 values(v_deptno,v_dname,v_loc); commit; end;

 例13: 
declare 
v_deptno emp2.deptno%type:=50; v_count number; 
begin 
update emp2 set sal=sal/2 where deptno=v_deptno; 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘);(sql为关键字,代表上一条语句 commit; end; / 例14: 
declare 
v_deptno emp2.deptno%type:=50; v_count number; 
begin 
--update emp2 set sal=sal/2 where deptno=v_deptno; 
   select deptno into v_deptno from emp2 where empno=7369; 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘);(sql为关键字,代表上一条语句 commit; 

end; 

/ 例15 
declare 
v_deptno emp2.deptno%type:=50; v_count number; begin 
--update emp2 set sal=sal/2 where deptno=v_deptno; 
--select deptno into v_deptno from emp2 where empno=7369; 
select count(*) into v_count from emp2;                        (select必须和into一起使用) 
dbms_output.put_line(sql%rowcount ||‘条记录被影响‘); commit; 
end; / 
时间: 2024-11-07 19:27:24

Oracle SQL语句大全(三)的相关文章

Oracle SQL语句大全(一)

Oracle SQL语句大全  1.desc(描述) emp    描述emp这张表 2.desc    dept       部门表 3.desc salgrade      薪水等级 4.select *from table 查找表中的元素 5.dual     是系统中的一张空表 6.select *from dual  7.select sysdate from dual 取出系统时间  8.select ename,sal*12 "annul sal"(取的别名) from 

oracle sql语句大全

ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约束中指定的条件是否得到了满足. UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的. PRIMARY KEY (主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束. POREIGN KEY (外部键)--通过使用公共列在

Oracle SQL语句大全(二)

avg(sal) desc;     查找部门中平均薪水打印2000的员工并按部门号进行排序,查询分组后的平均薪水必须大于1500,查询结果按平均薪水从低到高排列  49.select ename from emp where sal>(select avg(sal) from emp);    查找出员工中薪水位于部门平均薪水之上的所有员工  50.select ename,sal from emp join(select max(sal) max_sal from emp group by 

Oracle SQL语句大全(四)

PL/SQL里面执行DDL语句  begin  execute immediate 'create table T(nnn varchar2(20) default ''aaa'')';  end;  PL/SQL的分支语句: declare     v_sal emp.sal%type; begin     select sal into v_sal from emp     where empno=7369;    if(v_sal<1200) then       dbms_output.

sql语句大全

sql语句大全1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack4.说明:创建新表create

Oracle 数据库语句大全

Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约束中指定的条件是否得到了满足. UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的. PRIMARY KEY (主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束. POREIGN KEY (

mysql sql语句大全

1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4.说明:创建新表 cr

SQL语句大全(转)

经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 4.说明:

常用经典SQL语句大全完整版--详解+实例 《来自网络,很全没整理,寄存与此》

常用经典SQL语句大全完整版--详解+实例 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop data