易截截图软件、单文件、免安装、纯绿色、仅160KB

使用Oracle的DBMS_SQL包执行动态SQL语句

 在某些场合下,存储过程或触发器里的SQL语句需要动态生成。Oracle的DBMS_SQL包可以用来执行动态SQL语句。本文通过一个简单的例子来展示如何利用DBMS_SQL包执行动态SQL语句:
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_sq


相关文档:

Oracle:pl/sql 异常处理[转]


pl/sql 提供了强大而灵活的手段来捕捉和处理程序产生的异常,从而使 oracle 的用户远离一些令人烦恼的 bug 。
 
pl/sql 异常处理的概念和术语
 
在 oracle 中所有的错误都被认为是不应该发生的异常。一个异常可能是以下 3 种情况的一种:
u       由系统产生的错误(& ......

Oracle数据库中的''与NULL的关系

在Oracle数据库中''与NULL是等价的。均表示空值,而不是类似其他数据库上''表示空串,NULL表示空值。
 
ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:
1、主键字段(primary key),
2、定义时已经加了NOT NULL限制条件的字段
 
说明:
1、NULL等价于没有任何值、是未知数。
2、NULL与 ......

武汉英思工程科技有限公司–ORACLE面试测试题目

1.    解释FUNCTION,PROCEDURE和PACKAGE区别
答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值而function将返回一个值在另一方面,Package是为了完成一个商业功能的一组function和procedure的集合。
2.    取某个序列的当前值的PL/SQL语 ......

Oracle 11g R1 for Linux(RHEL5)安装


1
、安装前的准备
1.1
检查硬件
物理内存:
# grep
MemTotal /proc/meminfo
交换空间:
# grep
SwapTotal /proc/meminfo
交换空间的大小是根据物理内存的大小来设置的,物理内存少于
2G
的则交换空间设为物理内存的两倍,物理内存大于
2G
的则交换空间和物理内存大小一样。如果不符合上述规定,那么就需要 ......

Sql Server2005实现远程备份数据库

 
相信大家都在当心数据库的丢失,这也是每个开发者头痛的一件事件,因为正在运行的服务器及数据库也在这台服务器上。如果服务器崩溃,那么所有的数据
都不存在了,就算是你在你的机子上做了备份,那也是没有用的,为什么会这样说主要是因为本机是向互联网公开的,所以出事故的概率就比较高。最终我们可以利
用局域 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号