`
121059457
  • 浏览: 23531 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

plsql小记

阅读更多
1.
查看oracle版本
select * from product_component_version;



2.
create or replace function get_sal(no in number) return number is
 salary number(6,2);
begin
  select sal into salary from emp where empno =no;
  return salary;
end get_sal;


3.
--事务
create procedure insert_dept(no number ,name varchar2)
is 
begin
insert into dept(deptno,dname) values(no,name);
end;


4.
create or replace function get_sal(name varchar2)
return number is 
v_sal number(6,2);
begin
select sal into v_sal from emp where upper(ename) = upper(name);
return v_sal;
end;

var salary number

exec :salary := get_sal('scott')

print salary

5.
show errors

6.
delcare 
begin 
exception
后面没有分号
而
end
后面则必须带有分号

7.
 set serveroutput on
 begin
 dbms_output.put_line('hello, everyone');
 end;
 /

8.
declare
v_ename varchar2(50);
begin
select ename into v_ename from emp where empno =&no;
dbms_output.put_line('name :' ||v_ename);
end;

9.
declare
v_ename varchar2(50);
begin
select ename into v_ename from emp where empno = &no;
dbms_output.put_line('雇员名:' ||v_ename);
exception
  when No_Data_Found then
       dbms_output.put_line('请输入正确的雇员号!');
end;
/

9.
  <<outer>>
  
   declare 
    v_deptno number(12);
    v_dname  varchar2(10);
    
   begin
   <<inner>>
    begin 
       select deptno into v_deptno from emp
          where lower(ename) = lower('&name');
    end;--<<inner>>
    select dname into v_dname from dept where deptno = v_deptno;
    dbms_output.put_line('部门名:' ||v_dname);
    
    end; --<<outer>>
10.
create or replace procedure update_sal(name varchar2,newsal number)
is
 begin
 update emp set sal = newsal where lower(ename) = lower(name);
 end;

var income number;
call annual_income('scott') into :income;

11.
create package emp_pkg is
  procedure update_sal(name varchar2,newsal number);
  function annual_income(name  varchar2) return number;
  
  end;


create package body emp_pkg is 
procedure update_sal(name varchar2,newsal number)
is 
begin
update emp set sal = newsal where lower(ename) = lower(name);
end;
function annual_income(name varchar2) return number
is
annual_salary number(7,2);

begin
select sal*12+nvl(comm,0) into annual_salary 
from emp where lower(ename) = lower(name);
return annual_salary;
end;

end;

12.
declare
v_ename varchar2(5);
v_sal number(6,2);
c_tax_rate constant number(3,2):=0.03;
v_tax_sal number(6,2);
begin
select ename,sal into v_ename,v_sal
from emp where empno =&eno;
v_tax_sal :=v_sal*c_tax_rate;
dbms_output.put_line('雇员名:'||v_ename);
dbms_output.put_line('雇员工资:'||v_sal);
dbms_output.put_line('所得税:'||v_tax_sal);
end;
/

declare
v_ename emp.ename%type;
v_sal emp.sal%type;
c_tax_rate constant number(3,2) :=0.03;
v_tax_sal v_sal%type;
begin
select ename,sal into v_ename,v_sal
from emp where empno =&eno;
v_tax_sal := v_sal*c_tax_rate;
dbms_output.put_line('雇员名:'||v_ename);
dbms_output.put_line('雇员工资:'||v_sal);
dbms_output.put_line('所得税:'||v_tax_sal);
end;

13.
declare
       type ename_table_type is table of emp.ename%type
            index by binary_integer;
            ename_table ename_table_type;
begin
            select ename into ename_table(-1) from emp where empno =7788;
       dbms_output.put_line('雇员姓名:'||ename_table(-1));
end;

14.
declare 
type c1 is ref cursor;
emp_cursor c1;
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
open emp_cursor for
   select ename,sal from emp where deptno =10;
loop
 fetch emp_cursor into v_ename,v_sal;
 exit when emp_cursor%NOTFOUND;
 dbms_output.put_line(v_ename);
end loop;
close emp_cursor;
end;

15.
desc
16.
set pagesize 30;
17.
 select ename,to_char(hiredate,'YYYY-MM-DD') from emp;

18.
select distinct deptno,job from emp;
19.
select ename as "姓名",sal*12 as "年收入" from emp;

20.
select ename,sal ,hiredate from emp  where hiredate >'01-1月-82';
21.
declare
  type emp_record_type is record(
       name emp.ename%type,
       salary  emp.sal%type,
       dno emp.deptno%type);
  emp_record emp_record_type;
begin
   select ename,sal, deptno into emp_record
   from emp where empno =&no;
   dbms_output.put_line(emp_record.name);
end;
/

22.
declare 
 dept_record dept%rowtype;
begin
     dept_record.deptno :=55;
     dept_record.dname := 'administrator';
     dept_record.loc := 'beijing';
   insert into dept values dept_record;
   commit;
   end;
23.
declare
type ename_table_type is table of emp.ename%type
index by binary_integer;
ename_table ename_table_type;
begin
  select ename into ename_table(-1) from emp
  where empno =&no;
  dbms_output.put_line('雇员名:'||ename_table(-1));
  end;

24.
declare
type area_table_type is table of number index by varchar2(10);
area_table area_table_type;
begin
area_table('北京') :=1;
area_table('上海') :=2;
area_table('广州') :=3;
dbms_output.put_line(area_table.first);
dbms_output.put_line(area_table.last);
end;

25.
declare
cursor emp_cursor is
       select ename,sal from emp where deptno =10;
       v_ename emp.ename%type;
       v_sal emp.sal%type;
begin
open emp_cursor;
loop
fetch emp_cursor into v_ename,v_sal;
exit when emp_cursor%NOTFOUND;
dbms_output.put_line(v_ename||':'||v_sal);
end loop;
close emp_cursor;
end;

26.
declare
  cursor emp_cursor is
    select ename, sal from emp;
  emp_record emp_cursor%rowtype;
begin
  open emp_cursor;
  loop
    fetch emp_cursor
      into emp_record;
    exit when emp_cursor%notfound;
    dbms_output.put_line('雇员名:' || emp_record.ename || ',雇员工资:' ||
                         emp_record.sal);
  end loop;
  close emp_cursor;
end;
27.
declare
  cursor emp_cursor(no number) is
    select ename from emp where deptno = no;
  v_ename emp.ename%type;
begin
  open emp_cursor(10);
  loop
    fetch emp_cursor
      into v_ename;
    exit when emp_cursor%notfound;
    dbms_output.put_line(v_ename);
  end loop;
  close emp_cursor;
end;

28.
declare
  cursor emp_cursor is select ename,sal from emp;
begin
     for emp_record in emp_cursor loop
         dbms_output.put_line(''||emp_cursor%rowcount||''||emp_record.ename);
         end loop;
         end;

29.seleect ename,sal from emp where ename like '%a_%' escape 'a'




















分享到:
评论

相关推荐

    plsql11汉化包

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL程序。在中文环境下,对于不熟悉英文界面的用户来说,使用英文版可能会带来不便。"plsql11汉化包"正是为了解决这个问题,...

    plsql 32位下载

    PLSQL Developer是一款强大的Oracle数据库管理工具,主要针对PL/SQL语言进行开发、调试和管理。在32位操作系统环境下,用户可能需要下载适用于该系统的PLSQL Developer版本。本指南将详细介绍如何下载并安装32位...

    PLSQL学习资料 PLSQL学习资料 PLSQL学习资料

    PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 ...

    PLSQL_Developer8.0绿色版64位

    PLSQL Developer是一款强大的Oracle数据库开发工具,专为PL/SQL编程语言设计,它提供了一整套集成环境,便于开发、调试、管理以及执行PL/SQL代码。标题中的"PLSQL_Developer8.0绿色版64位"指的是该版本是针对64位...

    PLSQL免安装版本下载

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL代码。在许多情况下,用户可能需要PLSQL的免安装版本,这可能是出于便携性、节省系统资源或者避免系统冲突的考虑。标题...

    plsql developer 12 注册码

    plsql developer plsql developer plsql developer plsql developer plsql developer

    plsql11安装包文件

    plsql11安装包文件

    PLSQL安装包及解决PLSQL过期文件

    PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。... 该安装包包含了解决PLSQL过期的文件,将PLSQL安装后将解决过期的文件放到安装包中,即可解决PLSQL过期的问题。即可永久使用。

    PlSql中的 CnPlugin 插件

    **PlSql中的CnPlugin插件详解** PL/SQL Developer(简称PLSQL)是一款由Allround Automations公司开发的专业Oracle数据库管理与开发工具,它为数据库管理员和开发人员提供了强大的功能,包括编写、调试、执行SQL和...

    PLSQL14_32位

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL程序单元。这个"PLSQL14_32位"压缩包文件很可能是PLSQL Developer的第14版本,专为32位操作系统设计。如果你的计算机上已经...

    PLSQL Developer 8.0汉化包

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL代码。这个8.0版本的汉化包是专为那些需要中文界面的用户设计的,使得国内用户在使用PLSQL Developer时能更加方便地理解和...

    PLSQL Developer14用户指南

    PLSQL Developer 14用户指南 PLSQL Developer 14用户指南是Oracle公司出品的一款专业database开发工具,旨在帮助用户快速掌握PL/SQL语言编程。该指南详细介绍了PL/SQL Developer 14的安装、配置、编程和调试等方面...

    PLSQL程序优化和性能分析方法

    PLSQL程序优化和性能分析方法 PLSQL程序优化是指在编写PLSQL程序时,为了提高程序的执行效率和性能所采取的一系列措施和技术。这些措施和技术可以帮助开发者编写高效、可靠、可维护的PLSQL程序,从而提高系统的整体...

    PLSQL developer 64 位

    PLSQL Developer是一款强大的Oracle数据库开发工具,专为64位操作系统设计。这款工具以其直观的用户界面、高效的代码编辑器和全面的调试功能而受到广大数据库管理员和开发者的青睐。在"PLSQLDeveloper_解压版(64位...

    plsql developer9.0破解版

    plsql developer9 0破解版 PLSQL Developer 9 0 0 1601破解版本使用了8 0的汉化包 可以正常使用 无需注册 默认为英文 点击菜单tools preferences appearance language 选择简体中文即可切换到简体中文界面 如果...

    PLSQL 操作学习文档

    PLSQL(Procedural Language/Structured Query Language)是Oracle数据库中的一个强大工具,它结合了SQL的查询功能和过程性编程语言的特点,使得数据库管理、数据处理和应用程序开发更为便捷。"PLSQL Developer"是一...

    PLSQL 绿色版_免安装ORACLE.zip

    PLSQL Developer是一款强大的Oracle数据库管理工具,主要用于编写、调试、执行和管理PL/SQL程序。在给定的压缩包文件“PLSQL 绿色版_免安装ORACLE.zip”中,用户可以找到一种无需正式安装Oracle客户端即可使用PLSQL ...

    plsql批量导入数据

    在Oracle数据库环境中,PL/SQL Developer(简称PLSQL)是一种常用的工具,用于编写、调试和管理PL/SQL代码。当我们需要处理大量数据导入任务时,PLSQL提供了多种方法来实现批量导入,这些方法高效且灵活。本文将详细...

    PLSQL注册机激活 通用

    PLSQL Developer是一款强大的Oracle数据库开发工具,由Allround Automations公司开发。它为数据库管理员、开发者和测试人员提供了集成的环境,便于编写、调试、执行和管理PL/SQL代码。这款软件通常需要购买许可证...

    PLSQL简易教程学过以后plsql不愁

    "PLSQL简易教程学过以后plsql不愁" PLSQL 是 ORACLE 对标准数据库语言的扩展,ORACLE 公司已经将 PLSQL 整合到 ORACLE 服务器和其他工具中了,近几年中更多的开发人员和 DBA 开始使用 PLSQL。本文将讲述 PLSQL 基础...

Global site tag (gtag.js) - Google Analytics