具体是这样的:
  已存在这个表:CREATE TABLE temp_table (
                                       num_col    NUMBER,
                                       char_col   VARCHAR2(60)
                                       );
的情况下,执行如下代码:
REM AnonymousBlock.sql
REM Chapter 3, Oracle9i PL/SQL Programming by Scott Urman
REM This is an example of an anonymous block.DECLARE
  /* Declare variables to be used in this block. */
  v_Num1      NUMBER := 1;
  v_Num2      NUMBER := 2;
  v_String1   VARCHAR2(50) := 'Hello World!';
  v_String2   VARCHAR2(50) :=
    '-- This message brought to you by PL/SQL!';
  v_OutputStr VARCHAR2(50);
BEGIN
  /* First, insert two rows into temp_table, using the values
     of the variables. */
  INSERT INTO temp_table (num_col, char_col)
    VALUES (v_Num1, v_String1);
  INSERT INTO temp_table (num_col, char_col)
    VALUES (v_Num2, v_String2);

  /* Now query temp_table for the two rows we just inserted, and
     output them to the screen using the DBMS_OUTPUT package. */
  SELECT char_col
    INTO v_OutputStr
FROM temp_table
WHERE num_col = v_Num1;
  DBMS_OUTPUT.PUT_LINE(v_OutputStr);
  
  SELECT char_col
    INTO v_OutputStr
FROM temp_table
WHERE num_col = v_Num2;
  DBMS_OUTPUT.PUT_LINE(v_OutputStr);
  
  /* Rollback our changes */
  ROLLBACK;
END;
本应该输出结果:
          Hello World!
          -- This message brought to you by PL/SQL!
但为什么没有这样的结果:书上的例子估计用的系统是oracle 9i版本的,难道我的oracle 8.1.7版就不行吗?请各位高手赐教:是什么原因?