语句很简单,select 字段 from  表名
怎么写成存储过程

解决方案 »

  1.   

    把需求说下要select  然后 干啥?
      

  2.   

    先定义变量 select 字段 into 变量 from 表名
      

  3.   

    字段或者表名是动态的么   不然直接sql 还用存储干嘛呢
      

  4.   


    CREATE OR REPLACE PROCEDURE p_a IS
      p_sql VARCHAR2(2000);
      a VARCHAR2(20);
        BEGIN
          a := '12580';
          p_sql := 'select * from t1 where c1 = '||a||'';
          --DBMS_OUTPUT.PUT_LINE(p_sql);
          EXECUTE IMMEDIATE p_sql; 
          commit;
        END; 
      

  5.   

     commit;去掉   如果是增删该要加上 
      

  6.   

    CREATE OR REPLACE PROCEDURE --存储过程名
     IS
    BEGIN
    --存储过程体
      END;
    行1:
      CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;
    行2:
      IS关键词表明后面将跟随一个PL/SQL体。
    行3:
      BEGIN关键词表明PL/SQL体的开始。
    行4:
      NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;
    行5:
      END关键词表明PL/SQL体的结束
      

  7.   

    CREATE OR REPLACE PROCEDURE ptest AS  
    CURSOR temp IS SELECT * FROM tablename;
    BEGIN 
      FOR i IN temp
      LOOP 
        Dbms_Output.put_line(i.co);
      END LOOP;
    END ptest;