- 浏览: 95874 次
- 性别:
- 来自: 成都
文章分类
1.why——有些时候表明和列名在程序运行的时候才被告诉。
2.what
3.参考变量的绑定方式
3.1:早起绑定——编译时检查表名和列名,如大部分DDL,
3.2::晚期绑定——无法检查表名和列名。如动态SQL,truncate命令,
3.格式
3.1:基本式
select *from emp; declare vsql varchar(100); vtbl varchar(30); begin vtbl:='&请输入表名'; vsql:='delete from'||vtbl; execute immediate vsql;--执行动态语句 dbms_output.put_line(sql); end;
declare salary number(6,2); sql_stat varchar2(100); begin sql_stat:='update emp set sal=sal*(1+:percent/100)' ||'where empno=:eno returning sal into :salary';--这里的:salary不是占位符表示什么意思。 execute immediate sql_stat using &增幅,&员工号 returning into salary; dbms_output.put_line('新工资'||salary); end;
3.2:查询式——execute immediate 查询sql into 变量
declare vsql varchar(1000); v_empno emp.empno%type; v_ename emp.ename%type; begin v_empno:='&请输入工号'; vsql:='select ename from emp where empno='||v_empno; execute immediate vsql into v_ename;--执行动态语句 dbms_output.put_line(v_ename); end;
3.3:变量绑定式——execute immediate sql using 绑定变量
*每个对PL/SQL变量的引用实际上都是绑定变量。
*不能用绑定变量替换实际的数据库对象名
declare vsql varchar(1000); v_empno emp.empno%type; v_ename emp.ename%type; begin v_empno:='&请输入工号'; vsql:='select ename from emp where empno=:xx'; execute immediate vsql into v_ename using v_empno;--执行动态语句 dbms_output.put_line(v_ename); end;
3.4:海量式——ref corsor+open for
declare type rc_type is ref cursor; my_rec rc_type; my_str varchar(30); v_field varchar(30); begin v_field:='&字段'; open my_rec for 'select'||v_field||'from'||&表名; fetch my_rec into my_str; while(my_rec%found) loop dbms_output.put_line(my_str); fetch my_rec into my_str; end loop; close my_rec; end;
发表评论
文章已被作者锁定,不允许评论。
-
报表相关
2010-07-20 07:02 8381.报表——普通报表是 ... -
事务机制
2010-06-26 10:21 8011.概念——多步操作组 ... -
游标(指针)
2010-06-26 10:21 1189*游标可以减少程序与数据库的交互和内存的消耗。 1.游标分类 ... -
练习——oracle数据字典对象
2010-06-22 20:09 873·创建部门表(部门编号,部门名称)和用户表(帐号,姓名,性别, ... -
练习——oracle数据类型
2010-06-22 20:06 712--复合变量tabledeclareType mytabtyp ... -
故障排除
2010-06-19 20:12 5931.故障排除方法与步骤 2.常见故障及原因 ... -
脚本开发
2010-06-19 20:11 898编写自己的数据库执行代码 1.PL(procedural l ... -
Oracle
2010-06-19 20:10 905该数据库在企业里普遍应用 1.Oracle的发展史 ... -
访问权限
2010-06-19 20:09 806阶级性和特权 范例— ... -
数据安全
2010-06-19 20:08 683数据库的数据安全,避免数据泄漏和丢失 -
数据访问优化
2010-04-27 09:41 8322.数据访问优化方法——时间(效率)换空间 2.1:索引优化 ... -
数据备份技术——数据仓库
2010-04-27 09:25 7601.what——可以将数据还原为备份的那个时刻. 2.分类 ... -
练习——学生班级
2010-04-27 08:09 688create table t_class(c_id int p ... -
练习——部门员工表
2010-04-27 07:59 7142create table DEPT( DEPTNO deci ... -
排序——index
2010-04-26 10:26 6961why——对大量数据进行排序,方便查找记录 2.特点 ... -
项目后台的有机组合
2010-04-14 10:58 798——————Dao——>———————DBUtil——— ... -
写服务器运行日志的方法
2010-04-14 10:38 8291:服务器运行后,日志的更新频率很高。方法好还决定了服务器相应 ... -
练习——DOM4J
2010-04-03 22:49 857什么叫XML解析:读或写XML中的内容。 扩展: XM ... -
Dao+DBUtil+Po
2010-04-03 18:57 745界面上的数据来自 1.数据库(Dao)——定义SQL执 ... -
练习——实训6.1
2010-04-03 16:04 690create table bbc(Name varchar(5 ...
相关推荐
本篇文章主要探讨如何利用Hibernate实现动态SQL查询,结合XML配置和FREEMARKER模板引擎来生成执行的SQL语句。 一、Hibernate简介 Hibernate作为一款强大的持久层框架,它简化了Java应用程序与数据库之间的交互。...
标题中的“Kettle循环执行动态SQL”指的是使用Pentaho Data Integration(Kettle)工具来设计数据集成工作流,其中包含动态生成并执行SQL语句的步骤。在数据处理和ETL(Extract, Transform, Load)过程中,动态SQL是...
### 动态SQL 并且把返回的值赋给变量 在SQL Server中,动态SQL是一种强大而灵活的工具,允许开发人员根据运行时条件构建并执行SQL查询。本文将详细介绍如何利用`sp_executesql`来执行动态SQL,并重点讨论如何将执行...
静态、动态SQL及各种游标 静态SQL和动态SQL是两种不同的SQL语句执行方式,分别应用于不同的场景中。静态SQL是指在PL/SQL中直接运行的SQL语句,没有什么特别之处。动态SQL则是指利用EXECUTE IMMEDIATE语句执行的SQL...
Gbase8s 动态 SQL 介绍 Gbase8s 动态 SQL 介绍 在 Gbase8s 中,动态 SQL 是一种特殊的 SQL 语句形式,它可以在执行时动态改变 SQL 语句的内容,不需要预先知道每个 SQL 语句的确切内容。与静态 SQL 不同,静态 SQL...
在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...
### 本地动态SQL的开发 #### 一、动态SQL的概念 动态SQL是在程序运行时构建并执行的SQL语句,其内容无法在编译时完全确定。与静态SQL(如常见的`UPDATE`语句)不同,动态SQL允许开发者在运行时根据实际情况构建...
SQL Server 动态 SQL 语句的用法 SQL Server 中的动态 SQL 语句是一种灵活的查询方式,它可以根据不同的情况生成不同的 SQL 语句。动态 SQL 语句可以用来实现复杂的业务逻辑,提高查询效率和灵活性。 普通 SQL ...
动态 SQL 是 MyBatis 的一大特色,它允许我们在运行时根据条件构建 SQL 语句,极大地提高了代码的可维护性和灵活性。 动态 SQL 在 MyBatis 中主要通过 XML 映射文件或者注解来实现。在 XML 映射文件中,我们可以...
### DB2游标及动态SQL详解 #### 一、DB2游标概念与使用 **1.1 游标简介** 在DB2中,游标是一种用于遍历查询结果集的强大工具。它允许用户一行一行地处理数据,这对于需要逐行处理数据的应用场景非常有用。游标通常...
iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...
动态SQL与绑定变量是数据库编程中的重要概念,尤其在Oracle数据库中被广泛应用。动态SQL允许在运行时构建和执行SQL语句,而绑定变量则是在动态SQL中用于替代具体值的占位符,使得SQL语句更为灵活和高效。 ### 1. ...
本文将深入探讨如何在Kettle中实现动态SQL查询,这对于处理复杂的数据库操作和数据迁移至关重要。我们将讨论问号占位符和命名参数这两种方法,并分析它们的区别。 首先,让我们理解什么是动态SQL查询。在传统的SQL...
mybatis动态sql 1.什么是动态SQL? Mabits是一个Java持久化框架,它提供了动态SQL的功能。动态SQL是一种根据不同条件动态生成SQL语句的技术。在Mabits中,动态SQL通常是通过使用一组特殊的标签和代码块来实现的,...
SQL(Structured Query Language)是用于管理和操作...综上所述,掌握SQL语句和动态SQL的基本语法对于任何IT从业者来说都至关重要,无论是数据库管理员还是开发者,都需要熟练运用这些技能来高效地操作和管理数据库。
在SQL世界中,动态SQL(Dynamic SQL)是一种强大的技术,特别是在复杂的数据库操作和程序设计中。在Microsoft SQL Server(MSSQL)环境下,掌握动态SQL的基本语法是提升SQL编程能力的关键。下面,我们将深入探讨动态...
本篇将详细讲解如何利用这些技术来生成动态SQL。 首先,SpringBoot是Spring框架的一个轻量级版本,它简化了配置,提供了一种快速开发全新Spring应用的方式。SpringBoot集成了大量的常用库,如数据访问、安全、缓存...
### Oracle中动态SQL详解 #### 一、动态SQL概述与特点 在Oracle数据库中,动态SQL是一种非常重要的技术,尤其对于开发人员来说更是必不可少的一部分。动态SQL是指在运行时构建并执行的SQL语句,与静态SQL(在编译...
“hibernate增删改查和动态sql”这个标题涵盖了两个主要的Hibernate使用场景。首先,"增删改查"(CRUD操作)是任何数据库操作的基础,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。在...