下面是sqlserver的存储过程:
create procedure sp_name
@sourcesql ntext as
exec (@sourcesql)
GO
意思是用exec动态的执行一条sql语句,(注:我数据库每个表都将用到这个存储过程)怎么把他转换成oracle的存储过程急着要它,希望各位帮帮忙,谢谢!

解决方案 »

  1.   


    试试这个CREATE OR REPLACE PROCEDURE sp_name  IS
     query_str VARCHAR2(1000);
    BEGINEXEC SQL EXECUTE IMMEDIATE query_str; END
      

  2.   


    CREATE OR REPLACE PROCEDURE sp_name  IS
     query_str VARCHAR2(1000);
    BEGIN EXECUTE IMMEDIATE query_str; END
      

  3.   

    execute immediate @sourcesql 
      

  4.   

    create or replace procedure sp_name
    @sourcesql varchar(3000) 
    as
    begin
    execute immediate @sourcesql 
    end
      

  5.   

    谢谢楼上的兄弟!我试试看下
    但ntext是无限大文本框类型
    用varchar或VARCHAR2似乎都不行把