Oracle存储过程中执行DDL语法

--C1:删除目标表所有数据

EXECUTE IMMEDIATE ‘TRUNCATE  TABLE  LDCODE‘;

--C2:创建索引

EXECUTE IMMEDIATE ‘CREATE  INDEX  I_JHLCPOL_CONTNO ON JH_LCPOL(CONTNO)‘;

--C3:删除索引

EXECUTE IMMEDIATE ‘DROP INDEX I_JHLCPOL_CONTNO‘;

时间: 2024-10-08 03:16:50

Oracle存储过程中执行DDL语法的相关文章

Oracle存储过程中异常Exception的捕捉和处理

Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Varchar2) AUTHID CURRENT_USER AS --声明异常 some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition v_ErrorCode NUMBER; -- Variable to hold

Oracle存储过程中跳出循环的写法

Oracle存储过程中跳出循环的写法 博客分类: oracle Oracle 记录exit和return的用法 exit用来跳出循环 loop IF V_KBP IS NULL THEN           EXIT;    END IF; end loop; return跳出存储过程 loop IF V_KBP IS NULL THEN         return;    END IF; end loop; 跳出loop 一次循环 oracle 11g已提供continue; oracle

存储过程中执行动态Sql语句

存储过程中执行动态Sql语句 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了执行性能,还可以编写更安全的代码.EXEC在某些情况下会更灵活.除非您有令人信服的理由使用EXEC,否侧尽量使用sp_executesql. 1.EXEC的使用 EXEC命令有两种用法,一种是执行一个存储

Oracle 存储过程中的 =>

oracle实参与形参有两种对应方式1.一种是位置方式,和面向对象语言参数传递类似;2.另外一种是=> 作为形参对应,因为位置对应方法有缺限,比如一个函数有3个参数,但第2个是可以不传(有默认值),这里就没办法位置对应方法,oralce内部一般用此种方法作参数传递. CREATE OR REPLACE PROCEDURE HelloWorld( p_user_name VARCHAR2, p_val1 VARCHAR2 DEFAULT ' Good Moning,', p_val2 VARCHA

oracle 存储过程中使用date 时、分、秒丢失

今天有一开发兄弟找我,说出现一奇怪现象,在存储过程中赋date类型的值,时.分.秒都丢失了,下面来做个试验: SQL> drop table test purge; SQL> create table test ( fill_date  date ); SQL> insert into test values(sysdate); SQL> commit; SQL> select to_char(fill_date,'yyyy-MM-dd HH24:mi:ss') from t

java 实现往oracle存储过程中传递array数组类型的参数

注:本文来源于 <  java 实现往oracle存储过程中传递array数组类型的参数  > 最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码就不写上了,因为项目中存储过程的调用方法全部是封装好的(好像现在都这样,都姓3层,嘿嘿) 原理: 1.一维数组 A.单纯的一维数组的话,直接建立一个table类型就可以 1 TYPE TYPE_VARCHAR AS TABLE OF VARCHAR2(200); 2.多维数组 A.多维数组就要稍加修改了,如

如何在存储过程中执行set命令  我来答

1.EXEC使用EXEC命令两种用种执行存储程另种执行态批处理所讲都第二种用 面先使用EXEC演示例,代码1DECLARE @TableName VARCHAR(50),@Sql NVARCHAR (MAX),@OrderID INT;SET @TableName = 'Orders';SET @OrderID = 10251;SET @sql = 'SELECT * FROM '+QUOTENAME(@TableName) +'WHERE OrderID = '+ CAST(@OrderID

转:ORACLE存储过程笔记1----基本语法(以及与informix的比较)

一.基本语法(以及与informix的比较) create [or replace] procedure procedure_name (varible {IN|OUT|IN OUT} type)  {IS|AS} [varible { in | out | in out }]  type;[varible { in | out | in out }] type;...... [cursor curor_name IS select subclause] begin body end [proc

在oracle存储过程中创建临时表

在oracle的存储过程中,不能直接使用DDL语句,比如create.alter.drop.truncate等. 那如果我们想在存储过程中建立一张临时表就只能使用动态sql语句了: create or replace procedure pro as str_sql varchar2(100); begin -- 创建临时表 str_sql := 'create global temporary table temp_table ( col1 varchar2(10), col2 number