1.试着自己写一个带名块。在屏幕上打印出来“HELLO ORACLE”,要求有声明部分。
2.在PL/SQL中用WHILE循环写出5的阶乘。
3.在一个PL/SQL块中试着用不同的日期格式来显示当前的日期,并且用转换函数将它转换成字符串,用DBMS_OUTPUT.PUT_LINE在屏幕上讲它们一一打印出来。
4.编写一个函数用于计算两个数相除的结果,要求当被除数为0的时候,有异常处理部分。
5.在PL/SQL中声明一个游标取出1993年前员工的名字,然后在屏幕上打印出来,用FOR循环。
6.怎样启动sql*plus?怎样连接到oracle?调试命令有哪些?

解决方案 »

  1.   

    第一:
    DECLARE
      STEXT VARCHAR2(20);
    BEGIN
      STEXT := 'HELLO ORACLE';
      DBMS_OUTPUT.PUT_LINE(STEXT );
    END;
      

  2.   

    回答第六题:.怎样启动sql*plus?怎样连接到oracle?调试命令有哪些?
    前提是:监听与服务已启动
    在运行处:sqlplusw
    在对话框中:scott/tiger
    就OK了conn sys/password@sid as sysdba
      

  3.   

    2.在PL/SQL中用WHILE循环写出5的阶乘。
    DECLARE
      N_FIVE NUMBER;
      KK NUMBER;
    BEGIN  
      DO WHILE KK<6
        N_FIVE=N_FIVE*KK;
        KK=KK+1;
      LOOP;
      DBMS_OUTPUT.PUT_LINE(N_FIVE );
    END;
      

  4.   

    3.在一个PL/SQL块中试着用不同的日期格式来显示当前的日期,并且用转换函数将它转换成字符串,用DBMS_OUTPUT.PUT_LINE在屏幕上讲它们一一打印出来。
    SET SERVEROUTPUT ON
    BEGIN
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE,'YYYY/MM/DD'));
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE,'DD/MM/YY'));
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE,'MM-DD-YYYY'));
    END;
      

  5.   

    4.编写一个函数用于计算两个数相除的结果,要求当被除数为0的时候,有异常处理部分。
    .....
    DECLARE A NUMBER;
    DECLARE B NUMBER;
    DECLARE C NUMBER;
    BEGIN
    C = B/A;
    IF B MOD A =0 THEN
    RAISE VZERO;
    END IF;
    RETURN C;
    EXCEPTION
    WHEN VZERO;
    异常处理;
    RETRUN...
    ELSE;
    RETURN...
    END;
      

  6.   

    5.在PL/SQL中声明一个游标取出1993年前员工的名字,然后在屏幕上打印出来,用FOR循环。
    declare
    cursor cur is
    select name from table where year < 1993
    begin
    for rec in cur loop
    dbms_output.put_line(rec.name);
    end loop;
    close cur;
    end;
      

  7.   

    怎么运行 PL/SQL 代码段呢?
      

  8.   

    带名块即要有
    begn
    ...
    end;
    要有声明那就加上declare

    declare 
    str varchar2(20);
    begin
    str:='HELLO ORACLE'
    dbms_output.put_line(str);
    end;
    /运行 PL/SQL 代码段
    可以使用pl/sql developer执行,或者启动sqlplus执行
    如:
    sqlplus /nolog
    conn user/password@sid
    然后直接写上面的那段显示hello的代码。如果是过程则使用exec 过程名来执行。