PL/SQL 块

declare
 V_name emp.ename%TYPE :=‘SMITH‘;--定义成emp.ename类型,其初始化值必须在ename中存在
 V_job  varchar (20)  :=‘salesman‘;
 V_sal  number ;
 rec emp%rowtype;
begin
  select * into rec from emp where ename = V_name;
 DBMS_OUTPUT.PUT_LINE(‘姓名:‘||rec.ename||‘工资:‘||rec.sal||‘工作时间:‘||rec.hiredate);
  select ename into V_name from emp where ename = ‘WARD‘;
 --dbms_output.put_line(‘姓名:‘||V_name);

 if V_name= ‘WARD‘ then
   DBMS_output.put_line(‘姓名:‘||V_name||rec.sal);

 end if;
 if V_name=‘JONES‘ then

  DBMS_output.put_line(‘Jones今天来上班了‘);
  else

  DBMS_output.put_line(‘Jones今天玩的真happy‘);

  end if;
  if V_name = ‘SCOTT‘ then
 DBMS_output.put_line(‘scott今天来上班了‘);
  elsif  V_name = ‘十大队‘  then
 DBMS_output.put_line(‘ward今天来上班了‘);
 else
  DBMS_output.put_line(‘今天没人上班,公司空空如也‘);
  end if;

end;
--case的 应用练习  V_APPraisal :=的值为 case语句的返回值
 declare
        V_grade char(1) :=‘A‘;
        V_APPraisal varchar2(20);
 begin
   V_APPraisal :=  --case内部不用加 ; 只有在结束时再加.
    case V_grade
     when ‘A‘  then ‘excellent‘
     when ‘B‘  then ‘vary good‘
     when ‘C‘ then  ‘GOOG‘
     else  ‘no such grade‘
   end;
   DBMS_OUTPUT.PUT_LINE(‘Grade:‘||V_grade||‘    Appraisal: ‘|| V_APPraisal);

 end;

 CREATE TABLE OWER (TIME date ,NAME varchar(10), NUM number(2));
declare
       INT number(2):= 1;
BEGIN
  LOOP

       INT := INT +1;
       INSERT INTO OWER (TIME,NAME,NUM)
       VALUES (SYSDATE ,‘HHH‘,5);
       dbms_output.put_line (‘想看看你打印了‘||to_char(int)||‘次‘);
       dbms_output.put_line (int);
       exit when int=8;    --循环内容包含此处的值
   end loop;
end;

 select * from ower;
 declare
    int number := 1;
 begin
   while int<10 loop --等于10 的时候退出
      dbms_output.put_line (‘想看看你打印了‘||to_char(int)||‘次‘);
      int:= int+1;
      end loop;
 end;
  create table temp_table(num_col number(10))  ;
  DECLARE
        V_counter NUMBER := 10;

BEGIN
   INSERT INTO temp_table(num_col) VALUES (v_counter );
   FOR v_counter IN 20 .. 25 LOOP  -- 打印出20 ,到25 行的内容.
      INSERT INTO temp_table (num_col ) VALUES ( v_counter );
   END LOOP;
   INSERT INTO temp_table(num_col) VALUES (v_counter );
   FOR v_counter IN REVERSE 20 .. 25 LOOP
      INSERT INTO temp_table (num_col ) VALUES ( v_counter );
   END LOOP;
END ; 
时间: 2024-12-17 01:27:38

PL/SQL 块的相关文章

PL/SQL(二)PL/SQL块

PL/SQL是一种块结构的语言,一个PL/SQL程序包含了一个或者多个逻辑块,逻辑块中可以声明变量,变量在使用之前必须先声明.除了正常的执行程序外,PL/SQL还提供了专门的异常处理部分进行异常处理.每个逻辑块分为三个部分,语法是: 语法结构:PL/SQL块的语法 [DECLARE --declaration statements] ① BEGIN --executable statements ② [EXCEPTION --exception statements] ③ END; 语法解析:

PL/SQL语法简介(匿名PL/SQL块)

PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/SQL是结构化的和过程化的结合体,而且最为重要的是,在用户执行多条SQL语句时,每条SQL语句都是逐一的发送给数据库,而PL/SQL可以一次性将多条SQL语句一起发送给数据库,减少网络流量 SQL执行 PL/SQL执行 匿名Pl/SQL块 – 动态构造,只能执行一次 一次性完成,没有名字 存储过程,

oracle执行多个pl/sql块

DECLARE    V_SQL_DROP_TABLE   VARCHAR2(50) := 'DROP TABLE MY_TEST2';    V_SQL_CREATE_TABLE VARCHAR2(100) := 'CREATE TABLE MY_TEST2(NOT_NULL VARCHAR2(20) NOT NULL, ONLY_INT INTEGER)';  BEGIN    EXECUTE IMMEDIATE V_SQL_CREATE_TABLE; -- 创建测试表  EXCEPTION

oracle PL\SQL块和复合类型

2018-12-04 PL\SQL程序块由三个部分组成:声明部分.执行部分.异常处理部分. 其结构如下: declare /*声明部分:说明要用到得变量,类型及游标,以及局部存储过程和函数*/ /*变量的定义和系统保留字要区分开(sql server 中可用@ PL\SQL不能用@)*/ begin /*执行部分:过程及SQL语句*/ /*必须有*/ exception /*异常处理部分:错误处理*/ end; PL/SQL中除了一些常见的变量类型外,还有复合类型 复合类型分为记录和表 记录:由

Oracle PL/SQL块之过程

1.简介 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分,通过使用输出参数,可以将执行部分的数据传递到应用环境,在sql/plus中通过create procedure来创建过程. 下面通过scott方案(scott方案是oracle数据库自带的一个方案,在实现下面的代码前,请确保该方案可用,也就是scott用户被解锁)来实现一个案例: 1.1.编写一个过程,通过输入用户名和新的年薪,来修改雇员原

dbvisualizer不能执行pl/sql块

如果是如下语句: begin dbms_output.put_line('Hello World!'); end; 控制台会报错 解决方案:语句改写为如下 --/ begin dbms_output.put_line('Hello World!'); end; / 即在语句块的开头加上"--/" 在语句块的结尾加上"/"

Oracle学习之PL/SQL块

1.简单开始 DECLAREname varchar2(20);BEGIN select first_name into name from hr.employees where employee_id=&no; dbms_output.put_line(name);EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line('该雇员不存在!');END;/ 2. 简单--- DECLARETYPE emp_record_type IS RECO

Oracle PL/SQL块之函数

以下测试案例所用的表均来自与scott方案,使用前,请确保该用户解锁 1.简介 函数用于返回特定的数据,当建立函数时,函数头部必须包含return子句,而在函数体内必须包含return语句返回的数据,我们可以使用create function来建立函数. 2.函数小案例 2.1.根据输入雇员的姓名,

PL/SQL块与表达式

原文地址:https://www.cnblogs.com/springsnow/p/9394911.html