`

oracle-在存储过程中定义动态sql

阅读更多

1、表结构

create table ITEM_PROP(
	PID INTEGER,
	NAME VARCHAR2(20),
	IS_KEY_PROP INTEGER,
	IS_SALE_PROP INTEGER,
	IS_COLOR_PROP INTEGER,
	PARENT_PID INTEGER,
	PARENT_VID VARCHAR2(20),
	PROP_VALUES PROPVALUES
)

 

2、无参形式

CREATE OR REPLACE PROCEDURE pro_drop IS
sql_str VARCHAR2(1000) := '';
BEGIN
	FOR v_cat IN (SELECT pid FROM item_prop WHERE pid = 1627207) LOOP
	sql_str := 'select * from item_prop where pid =' || v_cat.pid;
	dbms_output.put_line(v_cat.pid);
	dbms_output.put_line(sql_str);
	EXECUTE IMMEDIATE sql_str;
	END LOOP;
END;

 

3、有参形式

CREATE OR REPLACE PROCEDURE pro_drop(id in int,name in varchar2) IS
sql_str VARCHAR2(1000) := '';
BEGIN
	FOR v_cat IN (SELECT pid FROM item_prop WHERE pid = id) LOOP
	sql_str := 'update item_prop set name = name where pid =' || v_cat.pid;
	dbms_output.put_line(v_cat.pid);
	dbms_output.put_line(sql_str);
	EXECUTE IMMEDIATE sql_str;
	END LOOP;
	commit;
END;

 

分享到:
评论

相关推荐

    存储过程中怎么动态执行sql语句

    通过以上两个示例可以看出,在Oracle存储过程中实现动态SQL语句的关键在于利用`EXECUTE IMMEDIATE`动态执行SQL语句以及通过创建包的方式来实现更为复杂的动态数据处理逻辑。这两种方法不仅提高了代码的灵活性,还...

    ORACLE-基于包的存储过程动态分页

    存储过程是预编译好的SQL代码集合,在Oracle中,可以通过创建存储过程的方式来提高数据库性能并简化复杂的业务逻辑处理。 #### 描述解析:ORACLE-基于包的存储过程动态分页 描述部分简要地重申了文章主题,即利用...

    Oracle--存储过程

    Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许程序员或数据库管理员在数据库中定义一系列复杂的SQL和PL/SQL语句,形成一个可重复使用的代码块。这个知识点涉及到数据库编程、性能优化以及数据库...

    oracle到sqlserver存储过程语法转换

    ### Oracle到SQL Server存储过程...在进行数据库迁移时,开发者需要仔细分析现有的Oracle存储过程,然后根据SQL Server的语法特点进行相应的转换。此外,还应考虑到性能优化等问题,确保迁移后的应用程序能够高效运行。

    oracle-存储过程.ppt

    oracle 存储过程的定义:oracle 存储过程是指存储在服务器上的 Transact-SQL 语句的命名集合,是封装重复性任务的方法,支持用户声明变量、条件执行以及其他强有力的编程特性。 oracle 存储过程的优点: 1. 封装...

    Oracle-SQL.rar_oracle_oracle sql_sql

    在“Oracle-SQL.rar”这个压缩包中,包含了一份名为“Oracle SQL.ppt”的文件,这可能是一个PowerPoint演示文稿,用于详细讲解Oracle数据库的基础知识和SQL语言的使用。下面,我们将深入探讨一些Oracle SQL的基础...

    Oracle数据库---存储过程实例

    在Oracle数据库中,存储过程是一种数据库对象,它由SQL语句和流程控制语句组成,并存储在数据库服务器上。当需要执行特定任务时,可以通过调用存储过程来实现。存储过程的优点包括提高性能(因为它们可以在服务器端...

    oracle-存储过程1.ppt

    与SQL Server中的存储过程相似,Oracle存储过程也可以接受输入参数,返回输出参数,以及处理执行状态。 2. **存储过程的优点** - **封装商务逻辑**:存储过程将业务规则和数据操作封装起来,一旦规则更改,只需...

    oracle动态过程执行

    本文将详细介绍 Oracle 中动态 SQL 的执行机制、原理及其应用场景。 #### 一、动态 SQL 的概念 动态 SQL 是指那些在程序运行过程中由用户或程序根据需要动态构造的 SQL 语句。与静态 SQL 相比,动态 SQL 具有更高...

    oracle 动态SQL

    Oracle 动态SQL是数据库编程中的一个重要概念,它允许在运行时构建和执行SQL语句,从而提高了灵活性和适应性。动态SQL的使用通常在处理不确定的查询结构、执行基于条件的DML操作或者需要根据运行时信息生成SQL语句时...

    oracle 存储过程 函数 dblink

    在这段Java代码中,我们使用了`CallableStatement`来调用Oracle存储过程`TESTA`。关键点包括: - `prepareCall`方法用于准备调用存储过程。 - 使用`setString`方法设置输入参数的值。 - 调用`execute`方法执行存储...

    Oracle学习开发常用的SQL和存储过程学习(内含SQL面试题目和存储过程,函数面试题目).zip

    本资源“Oracle学习开发常用的SQL和存储过程学习(内含SQL面试题目和存储过程,函数面试题目).zip”提供了全面的学习材料,旨在帮助初学者和求职者提升在Oracle数据库中的SQL查询和存储过程编写技能。 SQL...

    oracle存储过程-帮助文档

    Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写一系列SQL语句和PL/SQL块,形成可重复使用的代码单元。这篇博客“oracle存储过程-帮助文档”可能提供了关于如何创建、调用和管理Oracle存储过程...

    oracle存储过程函数生成DEMO

    在这个"Oracle存储过程函数生成DEMO"中,我们主要关注如何在Oracle数据库环境中设计、编写、测试以及调用存储过程和函数。下面将详细阐述相关知识点。 1. **存储过程**: - 存储过程是一组预先编译的SQL语句,存储...

    Oracle PL SQL存储过程以及函数编

    Oracle PL/SQL是Oracle数据库系统中的一个强大工具,它结合了SQL的数据操作能力和Procedural Language(过程化语言)的功能,使得数据库管理、数据处理和应用程序开发更为高效。本篇文章将深入探讨Oracle PL/SQL存储...

    Oracle-procedure.rar_oracle_oracle procedure_oracle 存储过程

    这篇教程将深入探讨Oracle存储过程的概念、创建、调用以及其在数据库管理中的应用。 一、存储过程的概念 存储过程是预编译的SQL和PL/SQL语句集合,它们存储在数据库中并作为一个单一的单元执行。相比于直接运行单个...

    调用Oracle的存储过程

    - `存储过程`:存储过程的具体定义,通常在Oracle的PL/SQL环境中编写。 通过理解这些内容,你可以学习如何在Java应用中集成Oracle存储过程,从而实现更高效的数据操作和业务逻辑处理。在实际应用中,务必确保代码的...

    oracle 存储过程学习经典

    - **定义**: 存储过程是在数据库中预编译并存储的一段SQL或PL/SQL代码块,它可以包含复杂的逻辑处理,用于实现特定的功能。存储过程提高了代码的重用性、安全性以及执行效率。 - **应用场景**: 通常用于实现复杂的...

    Oracle触发器与存储过程高级编程-第3版itpub.rar

    在Oracle数据库系统中,触发器和存储过程是数据库管理员和开发人员进行复杂业务逻辑处理和数据管理的重要工具。下面将详细阐述这两个概念以及它们在实际应用中的高级编程技巧。 首先,触发器(Triggers)是Oracle...

Global site tag (gtag.js) - Google Analytics