java中调用ORACLE存储过程
http://www.javaresearch.org/article/66608.htm[@more@]一:无返回值的存储过程存储过程为:CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) ASBEGIN INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA;然后呢,在java里调用时就用下面的代码:package com.hyq.src; import java.sql.*;import java.sql.ResultSet; public class TestProcedureOne { public TestProcedureOne() { } public static void main(String[] args ){ String driver = "oracle.jdbc.driver.OracleDri
SELECT FOR UPDATE in Cursors
FOR UPDATE 和FOR UPDATE OF作用应该是一样的,加上of只是增加可读性,是要更新哪个字段。[@more@]重点:the OF list just gives you a way to document more clearly what you intend to change.WHERE CURRENT OF cursor_name:作用,不要写两次where条件了:The most important advantage to using WHERE CURRENT OF where you need to change the row fetched last is that you do not have to code in two (or more) places the criteria used to uniquely identify a row in a table. Without WHERE CURRENT OF, you would need to
DATE and TIMESTAMP
A Comparison of Oracle's DATE and TIMESTAMP Datatypes By James Koopmannhttp://oracle.chinaitlab.com/induction/38725.html[@more@]If you want to store date and time information in Oracle, you really only have two different options for the column's datatype. Lets take a quick look at these two datatypes and what they offer.DATE datatypeThis is the datatype that we are all too familiar with when we think about representing date and time values. It has the ability to store the month, day, year, cent
Sybase及SQL Anywhere SQL语句小结(转)
根据SQL Anywhere User's Guide所作小结。绝大部分都可用直接于Sybase数据库。[@more@]SELECT语句SELECT * FROM employeeSELECT * FROM employee ORDER BY emp_lname ASCSELECT * FROM employee ORDER BY emp_lname DESCSELECT emp_lname, dept_id, birth_date FROM employeeSELECT * FROM employee WHERE emp_fname='John'(一定使用单引号)SELECT emp_fname, emp_lname, birth_date FROM employee WHERE emp_fname = 'John' ORDER BY birth_dateSELECT emp_lname, birth_date FROM employee WHERE birth_date < 'March 3
PL/SQL入门
.1 PL/SQL简介 转http://xsb.itpub.net/post/419/107621[@more@].1 PL/SQL简介1.2 创建PL/SQL程序块 1.3 PL/SQL数据类型 1.4 处理PL/SQL的异常1.4.1 PL/SQL的异常 1.4.2 自定义异常处理 1.4.3 自定义异常 1.5 在PL/SQL中单条记录的查询 1.6 用光标查询多条记录 1.6.1 使用光标的基本方法 1.6.2 使用光标FOR循环 1.6.3 带参数的光标 1.7 创建代表数据库记录和列的变量 1.8 怎样用PL/SQL表实现数组功能[Ref: http://www.oradb.net/plsql.htm ]1.1 PL/SQL简介PL/SQL是ORACLE的过程化语言,包括一整套的数据类型、条件结构、循环结构和异常处理
从sybase的存储过程转向oracle的存储过程
从sybase的存储过程转向oracle的存储过程[@more@]http://www.itpub.net/23129,1.html讨论:从sybase的存储过程转向oracle的存储过程的不同点 另:http://topic.csdn.net/f/1805/7501-8000.html从sybase的存储过程转向oracle的存储过程有一些惯性专不过来:1.sybase的@@rowscount系统变量反映update等语句执行时影响的数据表记录条数,oracle中对应的是什么?2.sybase存储过程中可用select @n_ret 直接返回局部变量@n_ret的值,再oracle中如何实现相同的功能?3.sybase存储过程中参数说明可以为 para1 char(4),在oracle中不允许,是否oracl
左连接和右连接
左连接和右连接在Oracle PL-SQL中,左连接和右连接以如下方式来实现查看如下语句
子查询的典型例子
几个子查询的典型例子[@more@]显示那些比平均工资低的雇员信息:SQL> SELECT last_name, title, salary FROM s_emp WHERE salary <2 ( SELECT AVG(salary) FROM s_emp );显示平均工资比“部门号是32”的平均工资大的所有部门:SQL> SELECT dept_id, AVG(salary) FROM s_emp2 GROUP BY dept_id HAVING AVG(salary) >3 (SELECT AVG(salary) FROM s_emp WHERE dept_id = 32);DEPT_ID AVG(SALARY)------- -----------33 151550 2025找出最低平均工资的的工作:SQL> SELECT title, AVG(salary)2 FROM s_emp3 GROUP BY title
在oracle中使用函数来判断某字段是否能转换成数字型
可以建一个plsql 返回数字型的函数来达到该功能。[@more@]加了个函数来判断 create or replace function BhToNumber(strNumber varchar2) return number is begin return (to_number(strNumber)); exception when others then return (0); end ; sql中这样来查询 select BhToNumber(字段名) from 表名 这样如果有错误的数据就会显示为0,至少不会报错了..
PLSQL 开发要点
PLSQL 开发要点[@more@]PL/SQL 块语法(匿名块)[DECLARE]---declaration statementsBEGIN---executable statements[EXCEPTION]---exception statementsEND Ø 函数定义函数的语法如下:FUNCTION name [{parameter[,parameter,...])] RETURN datatypes IS[local declarations]BEGINexecute statements[EXCEPTIONexception handlers]END [name] Ø 存储过程 与函数不同,存储过程没有返回值,存储过程不能由SQL 语句直接使用,只能通过EXECUT 命令或PL/SQL 程序块内部调用,定义存储过程的语法如下:PROCEDURE
Sybase存储过程
存储过程的特点 Sybase的存储过程是集中存储在SQL Server中的预先定义且已经编译好的事务。存储过程由SQL语句和流程控制语句组成。它的功能包括:接受参数;[@more@]调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;返回若干个参数值给调用过程或批处理,为调用者提供动态结果;在远程SQL Server中运行等。存储过程的性能特点如下 存储过程是预编译过的,这就意味着它与普通的SQL语句或批处理的SQL语句不同,当首次运行一个存储过程时,SQL Server的查询处理器对其进行分析,在排除了语法错误之后形成存储在系统中的可执