declare str varchar2(10) :='wefdwer';
dbms_output.put_line(str);declare str varchar2(10) :='wefdwer';
begin
dbms_output.put_line(str);
end;select *  from t_20081028;begin
select *  from t_20081028;
end 这二种语句对比. 感觉oracle 怎么这么烦人!  为什么?

解决方案 »

  1.   

    select *  from t_20081028;
    这是SQL语句,可以直接在SQL PLUS中执行begin
      select *  from t_20081028;
    end 
    这是PL/SQL块,里面的select查询结果要返回到变量中,象select col into x from t_20081028 这样
    PL/SQL块要用begin..end括起来
      

  2.   

    select *  from t_20081028;
    这是SQL语句,可以直接在SQL PLUS中执行begin
      select *  from t_20081028;
    end 
    这是PL/SQL块,里面的select查询结果要返回到变量中,象select col into x from t_20081028 这样
    PL/SQL块要用begin..end括起来
      

  3.   

    没看出来,LZ到底觉的哪里烦???加个begin....end一般是可以抛异常(本人的理解)
      

  4.   

    T_SQL 与PL/sql 老混起来,  总觉得 declare p integer :=8  select * from T where id=p 这样能执行.  谢谢大家的回答.