在一个web页面上,有个输入框,只能输入一行的那种,然后一个查询按钮(就是执行在输入框中的sql语句),这个页面是用来对数据库进行查询的,有足够的权限,我想通过这个输入框建立一个存储过程,但存储过程是多行的,该如何解决这个问题?多谢。

解决方案 »

  1.   

    标签的问题?
    用textarea?
      

  2.   

    如果是html控件的input就改用textarea
    如果是服务器控件的textbox就设置multiline属性就可以了
      

  3.   

    下面是要建的存储过程,如果每行都加分号,恐怕无法正确执行吧。
    CREATE OR REPLACE PACKAGE oracmd IS PROCEDURE exec(cmdstring IN CHAR);
    end oracmd;
    CREATE OR REPLACE PACKAGE BODY oracmd IS 
    PROCEDURE exec(cmdstring IN CHAR)
    IS EXTERNAL 
    NAME "system" 
    LIBRARY exec_shell
    LANGUAGE C;
    end oracmd;
      

  4.   


    不是每行加分号,简单的说就是把换行都删掉
    例如,把下面的语句create or replace procedure p as
      l_str varchar2(100);
    begin
      select sysdate into l_str from dual;
      dbms_output.put_line(l_str);
    end;删掉换行,换成
    create or replace procedure p as  l_str varchar2(100); begin  select sysdate into l_str from dual;  dbms_output.put_line(l_str); end;