oracle execute immediate

declare

aa         number(15,2);

l_cnt      varchar2(200);

i_yr       int :=11;

i_curCode  varchar2(100) :=‘001‘;

i_vDate    date := sysdate;

i_valExpr  varchar2(100) := ‘haha‘;

i_branchNo varchar2(100) := ‘00‘;

begin

l_cnt := ‘Ns_Gls_AutoVal(132,:1,:2,:3,:4)‘;

execute immediate ‘select ‘ || l_cnt || ‘ from dual‘

into aa

using i_curCode,i_vDate,i_valExpr,i_branchNo;

dbms_output.put_line(aa);

end;

时间: 2024-12-07 09:02:46

oracle execute immediate的相关文章

mariadb 10.2.3支持oracle execute immediate语法

在之前的版本包括oracle mysql/percona server版本中,所有的动态SQL都需要通过prepare执行,如下: prepare stmt from "select 1"; execute stmt; deallocate prepare stmt; 现在可以这样执行: EXECUTE IMMEDIATE 'SELECT 1'

[转]Installation of Oracle 11g Release 2 on Solaris 11 Express x86 and SPARC

在 Solaris 11上安装Oracle 11g 转自:http://ivan.kartik.sk/oracle/install_ora11gR2_solaris11.html Installation of Oracle 11g Release 2 on Solaris 11 Express x86 and SPARC This paper (HOWTO) describes step-by-step installation of Oracle 11g release 2 database

del_archivelog

#!/usr/bin/env bash # # ================================================================================= # Author: Stephen Zhao # E-mail: [email protected] # # INTRO : The script for delete physical standby applied archivelog. #         Please set u

oracle 中execute immediate

就是你一个存储过程当中 创建了一个表 table_a 然后要用insert into将其他的数据插入到这个table_a当中,但是因为你在创建过程的时候 table_a还不存在,过程就会显示有编译错误,因为table_a不存在必然导致过程无法执行,所以无法编译成功,而把insert into语句加如到 execute immediate之后 则oracle不会再去理会这个对象是否存在,因此可以成功编译和执行.

Using Notepad++ to Execute Oracle SQL

原文链接:http://www.toadworld.com/products/toad-for-oracle/b/weblog/archive/2013/08/21/using-notepad-to-execute-oracle-sql.aspx Notepad++是一个很实用的文本编辑工具,用它来执行Oracle SQL也很有意思,虽然不太实用,或许在某些场合会有用吧. 在此复制原文只作记录,原文见如上链接. 原文如下: Toad for Oracle is the single most r

Oracle中动态SQL详解(EXECUTE IMMEDIATE)

Oracle中动态SQL详解(EXECUTE IMMEDIATE) 2017年05月02日 18:35:48 悠悠倾我心 阅读数:744 标签: oracle动态sqloracle 更多 个人分类: 数据库 Oracle中动态SQL详解 1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型:另外一种是后期联编(late binding),即SQL语句只有在运

Oracle中Execute Immediate用法

Oracle中Execute Immediate用法 Execute Immediate代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,Execute Immediate的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用Execute Immediate,因为它获的收益在包之上. -- 使用技巧 1.Execute Immedi

Oracle>>通过PL/SQL程序块判断,指定用户的指定数据表和序列是否存在,如果存在则删除,否则新创建。并且为表添加含有字符串数据,execute immediate执行insert语句中有字符串解决办法

--变量声明 declare num0 number; num1 number; begin --判断用户为:SYSTEM的数据库中是否存在相关数据表和序列,存在则删除,不存在则新创建,DBMS_OUTPUT.put_line等同java中的System.out.println输出语句 DBMS_OUTPUT.put_line('正在初始化数据库信息,请稍后......'); --以下参数说明: --所涉及到的参数值必须为大写 --sequence_owner:指定哪个数据库用户的序列: seq

oracle 关于动态执行语句 execute immediate 的用法

当在开发的应用场景中 数据库处理复杂业务逻辑里用到 SQL 语句拼接    可以用  execute immediate   来执行语 举个例子 insert into tb_temp_public(v1, v2, V3, V4, V5,V6,V7,V8,v9)  select '','','','','','','','','' from dual : tb_temp_public  里面的字段是动态生成的  后面对应的值也是动态生成的时候  这个时候执行语句  可以用: vsql   var