`
he91_com
  • 浏览: 401088 次
文章分类
社区版块
存档分类
最新评论

Oracle实用-01:绑定变量

 
阅读更多

数据库虽然在学校系统学习过,但是在工作中真正使用起来收获又是不一样的,今天起打算将项目中使用到的技术再分享出来,不以书本的顺序,只从碰到的问题为顺序。

虽然不是纯粹的数据库工程师,但是每个程序员总免不了要写sql语句。最近一直在写服务,从数据库读取数据,但是当项目上线之后再回过头来看这些sql语句,总发现有很多是相似的,不如where条件有很多是一样的。这让我想起一句话,大意是:如果程序中有很多相同的代码,那么尽量去提取出来(当然是尽量,不是一定要提取,这个要注意)。那么sql语句不也是一样吗,比如,如果有相似的查询语句,就应该作为存储过程公共使用。比如下面说的,变量绑定技术。

Oracle在执行sql查询语句时,首先从共享池中查找当前使用的完全相同的(指所有字符相同,字母大小写相同、空格相同)查询sql语句。所谓共享池中就是指都是经过解析和优化的语句。所以如果共享池中有公用的语句,那么减少了重新解析和优化,效率将会提高。下面来看变量绑定如何使用。

有一个tb_Name表,有id、name字段。

select * from  tb_Name where id='12345'

假设id='12345'其他地方也用到。

那么,声明一个变量:_setid

begin
    :_setid:='12345';
end

那么在其他语句中直接使用这个变量,

select name from tb_Name where id=:_setid

这样节省了解析优化的时间。

当然变量绑定只有在反复使用某个语句时使用。

分享到:
评论

相关推荐

    oracle特有的错误:ORA-01036:非法的变量名/编号

    在示例代码中,`:id`是一个Oracle风格的绑定变量,而不是SQL Server中的`@id`。 2. **参数绑定问题**:在OracleCommand对象中,当使用参数化查询时,必须使用`:var_name`的格式来定义参数。如代码所示,`cmd....

    也谈oracle 数据库的绑定变量特性及应用

    Oracle 数据库的绑定变量特性是其优化性能的关键技术之一,主要应用于提高数据库应用程序的可伸缩性和效率。绑定变量允许开发者创建动态SQL语句,其中的变量在执行时才提供具体的值,而不是硬编码到查询中。这种做法...

    oracle 数据库的绑定变量特性及应用

    Oracle 数据库的绑定变量特性及应用 绑定变量是 Oracle 数据库的一种特性,它旨在提高数据库系统的性能和可扩展性。在本文中,我们将详细地探讨绑定变量的目的、命名方法、使用限制条件和应用实例。 为什么使用...

    jansu-dev#Oracle-Learning-Notes#[Oracle]--捕获绑定变量的方法1

    捕获绑定变量when 180 then --TIMESTAMP可以获取绑定变量,前提是还没被清出sga.

    CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决

    而对于CLOB类型,虽然没有硬性长度限制,但一次PL/SQL语句中的绑定变量值不能超过4000个字符。 在处理这类问题时,有几种常见的解决方案: 1. **分块插入**: 当你的数据长度超过了4000个字符,你可以选择分批...

    浅谈oracle 数据库的绑定变量特性及应用

    Oracle数据库的绑定变量特性及其应用是数据库管理中的一个重要概念,特别是在处理大量数据和优化SQL查询性能时。绑定变量,也称为参数化查询或占位符,是SQL语句中用特殊符号(如“:var”)代替具体值的方式,使得同...

    oracle-database-11g-plsql-编程实战笔记.doc

    - 绑定变量(Bind Variable)使用 `VAR` 或 `VARIABLE` 声明,并以冒号 `:` 作为前缀。 - 示例: ```sql VAR a NUMBER BEGIN :a := 22; END; PRINT a; -- 输出结果 ``` - **命名块**: - 命名块是指具有...

    oracle报错的详细列表

    ### Oracle报错详细列表解析 #### ORA-00001: 违反唯一约束条件 当尝试向具有唯一约束的列插入重复值时触发。例如,在唯一索引或主键约束上。 #### ORA-00017: 请求会话以设置跟踪事件 该错误通常出现在调试过程中...

    在Java中实现Oracle变量的绑定方法 .doc

    为了解决这些问题,我们可以使用预编译的PreparedStatement对象来绑定变量,例如: ```java String sql = "select name from oms_user where id=?"; PreparedStatement pstmt = connection.prepareStatement(sql); ...

    oracle-sql资料必备

    - SQL调优:分析执行计划,使用绑定变量,避免硬解析。 - 分区策略:根据业务需求选择分区方法,如范围分区、列表分区、哈希分区等。 8. 数据库备份与恢复: - RMAN(Recovery Manager):Oracle的备份和恢复...

    Oracle数据库绑定变量特性及应用

    Oracle数据库的绑定变量特性是其优化SQL性能的关键技术之一,对于构建高效、可扩展和稳定的数据库系统至关重要。本文将深入探讨绑定变量的原理、优势以及如何在实际应用中使用。 首先,为什么我们要使用绑定变量?...

    oracle数据库面试题目汇总及答案解析.zip

    -绑定变量:减少硬解析,提高执行效率。 6. **数据库备份与恢复** - 归档日志模式:用于实现完整的数据库恢复。 - RMAN(恢复管理器):Oracle提供的备份和恢复工具。 - Flashback技术:恢复到某个时间点的状态...

    Oracle错误代码大全

    ### Oracle错误代码详解 #### ORA-00001: 违反唯一约束条件 - **描述**:当尝试插入或更新一个行时,如果该行违反了表中的唯一约束,则会出现此错误。 - **解决方法**: - 检查数据是否符合表结构中的唯一性约束。...

    架构师培训教材[整理].pdf

    - late bindings:晚期绑定,指的是在运行时决定调用哪个方法或访问哪个变量的过程。 - inheritance:继承,是面向对象编程中的一种机制,允许新的类继承一个或多个现有类的特征。 - white-box:白盒,这里可能是指...

    Java中Oracle操作绑定变量使用用户工具模块解决方案

    ### Java中Oracle操作绑定变量使用用户工具模块解决方案 #### 一、背景介绍 在Java开发过程中,特别是与Oracle数据库交互的应用场景中,SQL语句的编写及执行效率一直是开发者关注的重点之一。为了提高SQL语句的...

    Oracle图文笔记

    1. **变量绑定:** 在 SQL 中使用自定义变量。 - 示例: `SELECT * FROM 表名 WHERE 列名 = &变量名;` —— 使用用户输入的值作为查询条件。 2. **分组:** 使用 `GROUP BY` 分组数据。 - 示例: `SELECT 列名, AVG...

    Oracle_SQL学习笔记

    - **定义绑定变量**: 在SQL*Plus环境中,可以使用`VARIABLE`命令定义绑定变量。 - 示例: `VARIABLE emplno VARCHAR2(10);` - **赋值绑定变量**: 使用`EXECUTE :variable := value`命令给绑定变量赋值。 - 示例: `...

    Oracle AAOUG-46

    Oracle AAOUG-46 演讲中,Tom Kyte分享了他在Oracle数据库使用中的常见错误,并强调了绑定变量的重要性。以下是对这些知识点的详细解释: 1. **绑定变量**:绑定变量是数据库查询中的一种优化技术,用于减少解析...

    PLSQL绑定变量用法小结归纳.pdf

    由于我们使用了绑定变量,所以Oracle只需要软分析一次,而不需要每次都进行硬分析,从而提高了数据库的性能。 需要注意的是,绑定变量可以在PL/SQL过程中使用,例如: Declare i number; Begin i := 1; Select ...

    Oracle_数据库的绑定变量特性及应用终稿.pdf

    Oracle数据库的绑定变量是提升系统性能和可扩展性的重要特性,尤其对于大型企业级应用而言,正确使用绑定变量能够显著优化数据库操作。绑定变量的主要作用是减少解析和优化过程,提高查询效率,节省系统资源。 首先...

Global site tag (gtag.js) - Google Analytics