导航

随笔分类 -  Oracle

摘要:1、Where子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句。 根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。 举例: (低效)select … from table1 t1 where t1.sal > 300 and t1.jobtype = '0001' and 20 < (select count(*) from table1 t2 where t2.pno = t1.tno;(高效)select … from table1 t1 where 20 < ( 阅读全文

posted @ 2012-04-16 15:48 kingwangzhen 阅读(258) 评论(0) 推荐(0)

摘要:语法规则:Create [or replace] trigger [模式.]触发器名 Before| after insert|delete|(update of 列名)On 表名[for each row]When 条件PL/SQL块说明:For each row的意义是:在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次;When条件的... 阅读全文

posted @ 2010-09-13 09:03 kingwangzhen 阅读(196) 评论(0) 推荐(0)

摘要:开发中快速查找的好帮手,覆盖面全,查找方便,有实例: Oracle函数 单行函数 字符函数 LOWER: 将字符转化成大写:对非字符无影响 UPER : 将字符转化成小写:对非字符无影响 CONCAT: 将字符串连接,相当于|| SUBSTR : 取得字串 LENGTH: 求长度 INITCAP : 将每个单词的第一个字母大写其它字母小写返回 INSTR : 求出现的位置 SELECT E.ENA... 阅读全文

posted @ 2010-09-07 16:43 kingwangzhen 阅读(458) 评论(1) 推荐(0)

摘要:PL/SQL中没有数组的概念,他的集合数据类型和数组是相似的。在7.3以前的版本中只有一种集合,称为PL/SQL表,在这之后又有两种集合数据类型:嵌套表和varray。其中varray集合中的元素是有数量限制的,index_by表和嵌套表是没有这个限制的。index-by表是稀疏的,也就是说下标可以不连续,varray类型的集合则是紧密的,他的下标没有间隔。index_by表不能存储在数据库中,但... 阅读全文

posted @ 2010-08-30 16:43 kingwangzhen 阅读(276) 评论(0) 推荐(0)

摘要:PL/SQL三种集合类型的比较 集合是指在一个程序变量中包含多个值。PL/SQL提供的集合类型如下:Associative Array:TYPE t IS TABLE OF something INDEX BY PLS_INTEGER;Nested Table:TYPE t IS TABLE OF something;VARRAY:TYPE t IS VARRAY (123) OF somethi... 阅读全文

posted @ 2010-08-30 16:42 kingwangzhen 阅读(261) 评论(0) 推荐(0)

摘要:在很多時候我們需要通過bind var來提高整個DB的performance,在我們用第三次開發軟件做對結果集的查詢。我們如何在procedure中完成對結果集的查詢呢,從oracle7.3才被支持,在9i以后又有新的變化,在9i以前要define一個type才可以。而在9i以后oracle引入了一個新的類型為sys_refcursor,這樣就不需要我們重新定義。我們來看一個例子吧。C:oracl... 阅读全文

posted @ 2010-08-30 14:46 kingwangzhen 阅读(231) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/furenjun/archive/2006/07/04/442482.html 阅读全文

posted @ 2010-08-26 16:45 kingwangzhen 阅读(152) 评论(0) 推荐(0)

摘要:private void btnGetCLOB_Click(object sender, EventArgs e) { //We first read the full contents of the file into a byte array string _connstring = "Data Source=localhost/NEWDB;User Id=EDZEHOO;Passwor... 阅读全文

posted @ 2010-08-10 22:16 kingwangzhen 阅读(177) 评论(0) 推荐(0)

摘要:1.Connecting via TNS "Data Source=NEWDB;User ID=SYSTEM;Password=admin";2.Connecting Without TNSNames.ora "Data Source = " + "(DESCRIPTION = " + " (ADDRESS_LIST = " + " (ADDRESS = (PROTOCOL = TCP)" ... 阅读全文

posted @ 2010-08-10 22:10 kingwangzhen 阅读(700) 评论(0) 推荐(0)

摘要:private void BtnReadBlobPhoto_Click(object sender, EventArgs e) { try { using (OracleConnection conn = new OracleConnection(BusinessTools.ConnectionString)) { conn.Open(); string sql = "select photo f... 阅读全文

posted @ 2010-08-08 21:19 kingwangzhen 阅读(177) 评论(0) 推荐(0)

摘要:本人在使用ADO.net进行Oracle开发的过程中,要使用Oracle的大对象字段存储功能,但是在进行的过程中却遇到了不少的麻烦,拿出来与大家分享。 向服务器新增包含大对象字段的列基本上不存在问题,但是在更新的时候问题就出来了。动态构造好Update...returning...into语句,执行Command.executeNonQuery()时候, 会抛出有两个典型的Oracle异常: OR... 阅读全文

posted @ 2010-08-08 20:46 kingwangzhen 阅读(399) 评论(0) 推荐(0)

摘要:create or replace procedure UpdatePhoto(v_id in integer,v_binaryPhoto in blob) isbegin update usersinfo u set u.photo=v_binaryPhoto where u.id=v_id;end UpdatePhoto;/using System;using System.Collectio... 阅读全文

posted @ 2010-08-08 20:44 kingwangzhen 阅读(238) 评论(0) 推荐(0)

摘要:CREATE OR REPLACE FUNCTION func_RetrieveCount RETURN NUMBER IS intRecordCount NUMBER; BEGIN SELECT COUNT(*) INTO intRecordCount FROM Products; RETURN intRecordCount; END; /private void btnRetrieveCou... 阅读全文

posted @ 2010-08-08 17:21 kingwangzhen 阅读(224) 评论(0) 推荐(0)

摘要:CREATE OR REPLACE PACKAGE ProductsPackage IS TYPE DecimalArray IS TABLE OF DECIMAL INDEX BY BINARY_INTEGER; TYPE StringArray IS TABLE OF VARCHAR2(255) INDEX BY BINARY_INTEGER; PROCEDURE proc_GetAllP... 阅读全文

posted @ 2010-08-08 13:43 kingwangzhen 阅读(234) 评论(0) 推荐(0)

摘要:CREATE OR REPLACE PACKAGE ProductsPackage IS TYPE DecimalArray IS TABLE OF DECIMAL INDEX BY BINARY_INTEGER; TYPE StringArray IS TABLE OF VARCHAR2(255) INDEX BY BINARY_INTEGER; PROCEDURE proc_Update... 阅读全文

posted @ 2010-08-08 13:39 kingwangzhen 阅读(271) 评论(0) 推荐(0)

摘要:http://www.smart-soft.co.uk/Oracle/oracle-plsql-tutorial-part-11.htmPLSQL VarraysVarrays are one-dimensional, variable length arrays, with the maximum length defined in the declaration. These are used... 阅读全文

posted @ 2010-08-08 11:24 kingwangzhen 阅读(530) 评论(0) 推荐(0)

摘要:http://www.oracle.com/technology/global/cn/tech/dotnet/index.html数据库巨擘 Oracle (甲骨文)公司推出了自己的下一代数据库产品 Oracle 11g ,宣称在产品性能上,这款新产品超越竞争对手产品15年。 虽然新推出的Oracle 11g目前只有 Linux 版本,相信 Windows 版本的Oracle 11g马上就会与开... 阅读全文

posted @ 2010-07-29 23:19 kingwangzhen 阅读(227) 评论(0) 推荐(0)

摘要:SQL Server和Oracle两大数据库系统是日常项目开发中最常见的数据库,但更多的初学者可能对SQL Server会更熟悉一些,因为微软做的东西就是简单易用,比较傻瓜化。但Oracle在市场中的地位又不容忽视,而Oracle和SQL Server还是有着很大的差别的。本节就讲一些初学者在使用Oracle进行开发时会经常遇到的问题。5.5.1 Oracle和SQL Server的常用函数对比1... 阅读全文

posted @ 2010-07-29 22:53 kingwangzhen 阅读(290) 评论(1) 推荐(0)

摘要:Oracle 不支持批量查询,因此无法从一个命令返回多个结果集。使用存储过程时,返回多个结果集类似于返回单个结果集;必须使用 REF CURSOR 输出参数。要返回多个结果集,请使用多个 REF CURSOR 输出参数。 以下是返回两个结果集(全部 EMPLOYEES 和 JOBS 记录)的包规范:CREATE OR new PACKAGE SELECT_EMPLOYEES_JOBS ASTYPE... 阅读全文

posted @ 2010-07-29 21:31 kingwangzhen 阅读(492) 评论(0) 推荐(0)

摘要:本文讨论了如何使用 ADO.NET 访问 Oracle 存储过程(称为 SQL 编程块)和函数(返回单个值的编程块)。您可以使用以下托管数据提供程序连接到 Oracle 数据库:Microsoft .NET Oracle 提供程序、OLE DB .NET 提供程序、ODBC .NET 数据提供程序以及 Oracle 的 ODP.NET 提供程序。本文使用用于 Oracle 的 Microsoft?... 阅读全文

posted @ 2010-07-29 21:28 kingwangzhen 阅读(352) 评论(0) 推荐(0)