從游標提取數據 從游標得到一行數據使用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 '/';
閱讀全文