从游标提取数据 从游标得到一行数据使用FETCH命令。每一次提取数据后,游标都指向结果集的下一行。语法如下: FETCH cursor_name INTO variable[,variable,...] 对于SELECT定义的游标的每一列,FETCH变量列表都应该有一个变量与之相对应,变量的类型也要相同。
例: SET SERVERIUTPUT ON DECLARE v_ename EMP.ENAME%TYPE; v_salary EMP.SALARY%TYPE; CURSOR c_emp IS SELECT ename,salary FROM emp; BE...
阅读全文
select * from scott.emp;
==============for 循环=======================
declare empno NUMBER(4,0); ename VARCHAR2(10 BYTE); sal NUMBER(7,2);begin for REC in (select empno, ename, sal from scott.emp) loop begin empno := REC.empno; ename := REC.ename; sal := REC.sal; /*---------------------------------写入一条明细开始------...
阅读全文
使用Oracle10g OEM时,如果要关闭或启动数据库,需要输入操作系统用户和口令,以及数据库DBA用户和口令,但是总是报口令错误,如果要到出数据库(expdp),也需要输入主机身份证明,但是输入Administrator和口令,也会报口令错误。
解决办法:
如果是win2000可以把administrator从设置-控制面板-管理工具-本地安全策略-本地策略-用户权利指派-作为批处理作业登陆中加入就ok,首选身份证明是oracle的一种认证策略,即...
阅读全文
安装Microsoft SQL Server 2005 时选择了windows身份验证模式,从Microsoft SQL Server Management Studio 连接到服务器时,用sa用户无法登录,提示错误:
Microsoft SQL Server Error 18452: Login failed ... not associated with a trusted SQL server connection
进入Microsoft SQL Server Management Studio ,右键点击服务器名,选择“属性”,选择“安全性”做如下修改就可以
如果在服务器名称处填写的不是机器名,...
阅读全文
需要卸载现有的oracle,然后重新安装oracle。
刚刚听朋友说,如果卸载oracle的时候要卸载注册表,否则不能正常安装,当时还以为不信,但今天竟然遇到了这种问题。
重新安装了oracle,发现OEM无法进入,而且用SQL Devloper也无法练级,报错显示:连接适配器错误,监听起不能正常启动,检查了本地命名,发现一切正常。查看服务,手动启动OracleTNSListener发现不能启动,右键查看属性,发现可执行文件的路径指向了以前oracle的目...
阅读全文
1、序列的建立:create sequence "TEST_SEQUENCE" increment by 1 start with 1 nomaxvalue nocycle nocache;说明:最后三个值是可以自行设定的
2、触发器的建立:create trigger "test_trigger" beforeinsert on test_table for each row when(new.id is null)beginselect TEST_SEQUENCE.nextval into:new.id from dual;end;
注意事项:当建立序列的时候,序列的名字最好是写成大写,虽然oracle会自动进行转换,但是最近在用...
阅读全文
最近做了个项目,实现对存在千万条记录的库表进行插入、查询操作。原以为对数据库的插入、查询是件很容易的事,可不知当数据达到百万甚至千万条级别的时候,这一切似乎变得相当困难。几经折腾,总算完成了任务。在此做些简单的小结,不足之处,还望javaeye的高手们帮忙补充补充!
1、 避免使用Hibernate框架 Hibernate用起来虽然方便,但对于海量数据的操作显得力不从心。 关于插入: 试过用Hibernate一次性进行5...
阅读全文
采用自治事务的方式,可以在trigger里rollback or commit; 例子如下:
SQL codeCREATE OR REPLACE TRIGGER TRI_TRACE BEFORE INSERT OR DELETE OR UPDATE ON XXTABLE FOR EACH ROW DECLARE PRAGMA AUTONOMOUS_TRANSACTION; -- 声明自治事务 BEGIN IF UPDATING THEN ................ ................; END IF; ........ IF :NEW.ID = 1001 THEN ROLLBACK; -- 回滚上面…
阅读全文
1、在oracle的sys-sysdba下登陆
写一个java source程序链接sqlserver2005:
create or replace and compile java source named test asimport java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;public class excutesql1{ public static String entry(String str1,String str2) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载jdbc驱动 ...
阅读全文
1.使用变通方式
select 'yes' from dual where instr('ds%fk','%')>0;
2.使用like 转义
select 'yes' from dual where 'abcd%edf' like '/%' escape '/';
阅读全文