`
julyboxer
  • 浏览: 219032 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle动态SQl

    博客分类:
  • java
阅读更多
ORACLE是利用DBMS_SQL包来实现动态SQL的;
parse语法
DBMS_SQL.PARSE (
c IN INTEGER,
statement IN VARCHAR2,
language_flag IN INTEGER);

language_flag 参数的含义:
Determines how Oracle handles the SQL statement. The following options are recognized:
V6 (or 0) specifies version 6 behavior.
NATIVE (or 1) specifies normal behavior for the database to
which the program is connected.
V7 (or 2) specifies Oracle7 behavior.
//使用实例
DECLARE
v_cursor NUMBER;
v_stat NUMBER;
v_row NUMBER;
v_id NUMBER;
v_no VARCHAR(100);
v_date DATE;
v_sql VARCHAR(200);
s_id NUMBER;
s_date DATE;
BEGIN
s_id := 3000;
s_date := SYSDATE;
v_sql := 'SELECT id,qan_no,sample_date FROM "tblno" WHERE id > :sid and sample_date < :sdate';
v_cursor := dbms_sql.open_cursor; --打开游标;
dbms_sql.parse(v_cursor, v_sql, dbms_sql.native); --解析动态SQL语句;
dbms_sql.bind_variable(v_cursor, ':sid', s_id); --绑定输入参数;
dbms_sql.bind_variable(v_cursor, ':sdate', s_date);

dbms_sql.define_column(v_cursor, 1, v_id); --定义列 dbms_sql.define_column(v_cursor, 2, v_no, 100);
dbms_sql.define_column(v_cursor, 3, v_date);
v_stat := dbms_sql.execute(v_cursor); --执行动态SQL语句。 LOOP
EXIT WHEN dbms_sql.fetch_rows(v_cursor)<=0; --fetch_rows在结果集中移动游标,如果未抵达末尾,返回1。 dbms_sql.column_value(v_cursor, 1, v_id); --将当前行的查询结果写入上面定义的列中。 dbms_sql.column_value(v_cursor, 2, v_no);
dbms_sql.column_value(v_cursor, 3, v_date);
dbms_output.put_line(v_id || ';' || v_no || ';' || v_date);
END LOOP;
dbms_sql.close_cursor(v_cursor); --关闭游标。END;
分享到:
评论

相关推荐

    oracle 动态SQL

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

    Oracle动态SQL4方法分析与应用.pdf

    根据给定文件的信息,以下是对“Oracle动态SQL4方法分析与应用.pdf”文档中所涉及知识点的详细说明: Oracle动态SQL技术: 动态SQL技术允许在程序执行时根据用户的输入构造SQL语句,它在编写程序时不需要确定具体的...

    Oracle动态SQL之DBMS_SQL系统包的使用.pdf

    Oracle数据库作为当前企业级应用中广泛使用的数据库系统之一,其提供的动态SQL功能允许开发者在程序运行时构造和执行SQL语句,这种灵活性为程序开发提供了极大的便利。本文将探讨Oracle中的动态SQL实现机制,重点...

    Oracle 动态sql

    Oracle动态SQL是数据库编程中的一种技术,它允许在运行时构建和执行SQL语句,而不是在编译时确定。这在处理不确定的数据操作或者需要根据用户输入或程序逻辑动态生成SQL语句时非常有用。Oracle数据库提供了多种方式...

    oracle动态sql例子

    oracle动态sql例子,适用于存储过程中拼接sql

    Oracle动态执行SQL四种方式的例子

    在Oracle数据库管理中,动态执行SQL语句是一种强大的功能,允许开发者在运行时构建和执行SQL语句,这对于处理不确定或变化的数据结构尤其有用。本文将深入探讨Oracle中动态执行SQL的四种主要方法,并通过具体示例...

    Oracle动态SQL之本地动态SQL的使用.pdf

    Oracle数据库系统提供了对动态SQL的支持,这是一种在程序运行时构建和执行SQL语句的编程技术,对于实现数据库操作的灵活性具有重要作用。本文将探讨Oracle本地动态SQL的使用方法和技巧。 动态SQL的使用场景广泛,它...

    基于Oracle高性能动态SQL程序开发

    ### 基于Oracle高性能动态SQL程序开发 #### 一、引言 在现代数据库管理系统中,Oracle以其强大的功能和广泛的适用性而受到许多企业和开发者的青睐。在Oracle的编程环境中,动态SQL作为一种灵活的解决方案,能够...

    Oracle 动态SQL4 方法分析与应用

    动态 SQL 技术是一种高级的程序设计技术, 在程序开发 时,不知道要使用哪些字段或查询条件,而在程序执行时才能 构造出来。 遇到这种情况时使用动态 SQL 技术就能很好的满 足要求,这种技术具有很好的通用性,功能...

    msmmPrj.rar_The Oracle_oracle dynamic sql

    "msmmPrj.rar_The Oracle_oracle dynamic sql"这个压缩包文件很可能包含了关于使用Oracle动态SQL的详细教程或项目代码,特别是通过SQLDA(SQL Descriptor Area)进行数据交互的方法。 SQLDA,全称为SQL描述符区域,...

    oracle动态过程执行

    ### Oracle 动态 SQL 执行详解 在 Oracle 数据库中,动态 SQL 提供了一种灵活的方式来执行不预先定义好的 SQL 语句。这种方式允许开发者在运行时构建 SQL 语句并执行它们,这对于处理未知数据结构或需要动态生成...

    oracle SQL查询工具

    oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...

    Oracle和SqlServer语法区别

    Oracle和SqlServer语法区别 Oracle和SqlServer是两种流行的关系型数据库管理系统,它们之间存在着一些语法区别。了解这些区别对于开发者来说非常重要,因为它可以帮助他们更好地迁移到新的数据库管理系统。下面将...

    Oracle DB动态SQL应用方法的研究与实践.pdf

    Oracle数据库中的动态SQL应用方法是开发高效数据库查询程序的关键技术之一。动态SQL允许在程序运行时根据需要构建和执行SQL语句,增强了程序的灵活性和适应性,特别适合处理不确定或变化的数据操作需求。本文主要...

    基于Oracle的高性能动态SQL程序开发

    在Oracle数据库的开发中,动态SQL扮演着重要的角色,尤其在处理不确定的或复杂的查询需求时。动态SQL与静态SQL的主要区别在于,静态SQL在编译时即确定了SQL语句,而动态SQL则在运行时根据条件构建和执行。Oracle的PL...

    ORACLE_SQLDeveloper使用教程

    ### Oracle SQL Developer 使用教程 #### 一、Oracle Database Home Page 的使用 在开始介绍 Oracle SQL Developer 的使用之前,我们先来看看如何使用 Oracle Database Home Page。这部分内容非常重要,因为它是...

    Oracle数据库sql语句 跟踪器

    Oracle数据库SQL语句跟踪器,通常被称为SQL Monitor,是一种强大的工具,用于监控和分析数据库中的SQL语句执行情况。在Oracle环境中,理解SQL语句的行为是优化数据库性能的关键。SQL Monitor提供实时视图,帮助DBA...

    Oracle与SQLServer的SQL语法差异

    Oracle与SQLServer的SQL语法差异,用简单易懂的语言和实例对Oracle和Sql Server语法之间的差异进行了对比分析,更加适用于入门的人

    ORACLE数据库SQL语句美化器

    对ORACLE-SQL进行一些布局优化,更新它的格式

    SqlDbx连接oracle

    1. oraociei11.dll:这是Oracle Call Interface (OCI) 的动态链接库,是Oracle数据库访问接口的核心,用于应用程序与Oracle数据库交互。 2. orannzsbb11.dll:这是Oracle Net Services的缓冲区管理器,负责数据在...

Global site tag (gtag.js) - Google Analytics