设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 数据库开发 >> 嗨 甲骨文【4】
精品推荐
数据库开发点击TOP10
·MYSQL 新版出现 Client does not support authentication protocol requested by server; consider upgrading MySQL client解决办法
·生成助记码(取汉字的第一个字母)
·ORA-01034错误的解决办法
·ORACLE数据库管理员的职责
·将DW数据窗口导出为EXCEL文件的方法(整理)
·Oracle中分区表的使用
·SQL Server 2000+ MS WIN2003群集服务配置
·SQL中UNION 与 UNION ALL 的区别
·ORA-00257: archiver error. Connect internal only, until freed.
·Oracle备份与恢复案例
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

嗨 甲骨文【4】

作者: 来源:网络文章 时间:2005-12-17 22:29:45

嗨 甲骨文【4】(1)

CSdn.net/Emoticons/wink_smile.gif">动态SQL的使用

Oracle实际上比SQL Server好一些,但绝对没有传说中那么强。这是这些天一识Oracle庐山真面目的感受。看来好多事情多如此,听的要比见到的完美。接着第一句说,Oracle的动态SQL就很棒,我专门学习了一下。记录如下。

先说说动态SQL是什么,看这句熟悉的:
select * from a_table where a_variable=a_declarevalue;
再写句动态的:
select * from a_table where a_variable=:a_dynamicvalue;
两句的区别很明显,后者多一个占位符,这个以冒号开始的变量可以灵活地执行不同条件的where语句。
这是动态SQL语句的优势,接下来的功能就是它的独门功夫了--执行DDL,DCL语句。

动态SQL的执行
1 EXECUTE IMMEDIATE语句

EXECUTE IMMEDIATE dynamic_string

[INTO {define_variable[,define_variable]… record}]

[USING [IN OUT IN OUT] bind_argument[,[IN OUT \ IN OUT] bind_argumnet]…]

[{RETURNING RETURN} INTO bing_argument[,bind_argument]…];

下面是它的使用

处理
DDL
操作(CREATE,ALTER,DROP)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

CREATE OR REPLACE PROCEDURE drop_table(table_name VARCHAR2)

IS

  Sql_statemet VARCHAR2(100);

BEGIN

  Sql_statement:=’DROP TABLE’ table_name;

  EXECUTE IMMEDIATE sql_statement;

END;

/

建立过程drop_table后,调用如下:

SQL> exec drop_table(‘worker’)

 

处理DCL操作(GRANT REVOKE)

SQL> conn system/manager

CREATE OR REPLACE PROCEDURE grant_sys_priv(priv VARCHAR2,username VARCHAR2)

IS

  Sql_stat VARCHAR2(100);

BEGIN

  Sql_stat:=’GRANT “ priv ’ TO ’ username;

EXECUTE IMMEDIATE sql_stat;

END;

/

调用

SQL> exec grant_sys_priv(‘CREATE SESSION’,’SCOTT’)

共5页 9 7 [1] [2] [3] [4] [58 :>

嗨 甲骨文【4】 相关文章:
嗨 甲骨文【4】 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com