Oracle %type,%rowtype

1、使用%TYPE 在許多情況下,PL/SQL變數可以用來儲存在資料庫表中的資料。在這種情況下,變數應該擁有與表列相同的類型。例如,students表的first_name列的類型為VARCHAR2(20),我們可以按照下述方式聲明一個變數DECLARE        v_FirstName VARCHAR2(20);

oracle 字元集

本文從定義入手來講解對Oracle資料庫字元集如何全面認識。  什麼是Oracle字元集  Oracle字元集是一個位元組資料的解釋的符號集合,有大小之分,有相互的包容關係。  Oracle支援國家語言的體繫結構允許你使用本地化語言來儲存,處理,檢索資料。它使資料庫工具,錯誤訊息,排序次序,日期,時間,貨幣,數字,和日曆自動適應本地化語言和平台。  影響oracle資料庫字元集最重要的參數是NLS_LANG參數。它的格式如下:NLS_LANG =

Oracle預存程序入門

 學習的時候要靜下心去學習,不要心浮氣躁。其中找了一些網上的資料和自己的理解,再做以實踐,由於預存程序內容是比較多的,我這裡只能做個入門,希望大家能自己深入學習。 --  文中這個符號,等於注釋的意思 1.基本結構   CREATE OR REPLACE PROCEDURE 預存程序名字   (   參數1 IN 資料類型,   參數2 IN 資料類型  ) IS   變數1 資料類型;   變數2 資料類型;   BEGIN          *********

探索資料字典,提高自學習Oracle能力

我們知道Oracle通過資料字典來管理和展現資料庫資訊,這些資訊至關重要。正確理解這部分內容有助於加強我們的oracle學習能力。接下來我們介紹一下怎樣通過資料庫本身來學習研究資料庫。首先,Oracle的字典表和視圖基本上可以分為三個層次。1.X$表這一部分表是Oracle資料庫的運行基礎,在資料庫啟動時由Oracle應用程式動態建立。2.GV$和V$視圖從Oracle8開始,GV$視圖開始被引入,其含義為Global

oracle imp/exp 匯入匯出命令

 imp/exp命令,均是資料庫帳戶下的命令,即 su - oracle後使用的命令。imp命令 #imp unsap_dec目的/unsap_dec目的 file=/usr/test.dmp系統就會自動匯出檔案test.dmpexp命令 #exp 。。。 #user name :<目的資料庫的使用者名稱> #user password :<目的資料庫的密碼> 。。。 #user name

oracle報錯是:您必須具有SELECT ANY DICTIONARY許可權

 我把一個9206升級到1020之後,在用戶端使用OEM就不能串連了,但是使用sqlplus可以串連。是怎麼回事呢?報錯是:您必須具有SELECT ANY DICTIONARY許可權才能運行此應用程式,請要求DBA為您授予此許可權。我使用的是SYSTEM使用者,發現此問題後又登陸SQLPLUS授權:SQL> grant select any dictionary to system with admin option;Grant succeededSQL> select *

Oracle instr函數

在Oracle中,可以使用instr函數對某個字串進行判斷,判斷其是否含有指定的字元。其文法為:instr(sourceString,destString,start,appearPosition).其中sourceString代表源字串;destString代表想聰源字串中尋找的子串;start代表尋找的開始位置,該參數可選的,預設為1;appearPosition代表想從源字元中尋找出第幾次出現的destString,該參數也是可選的,預設為1;如果start的值為負數,那麼代表從右往左進行

ORACLE SQL效能最佳化(一)

1.選用適合的ORACLE最佳化器  ORACLE的最佳化器共有3種:  a. RULE (基於規則)  b. COST (基於成本) c. CHOOSE (選擇性)  設定預設的最佳化器,可以通過對init.ora檔案中OPTIMIZER_MODE參數的各種聲明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你當然也在SQL句級或是會話(session)級對其進行覆蓋.  為了使用基於成本的最佳化器(CBO, Cost-Based Optimizer) ,

ORACLE對象名大小寫敏感性相關的深入分析

註: 1、 本文是以ORACLE9.2為測試分析版本 2、 本文中提到的ORACLE對像名包括ORACLE中的表名、視圖名、欄位名、函數名等等。 以下是筆者對建立表及訪問使用不同命名方式的一個執行個體,是筆者的機器上測試結果: Connected to Oracle9i Enterprise Edition Release 9.2.0.7.0 Connected as ***** SQL> create table mytable1 2 ( 3    C1 VARCHAR2(6) 4 );

ORACLE SQL效能最佳化(二)

4. 選擇最有效率的表名順序(只在基於規則的最佳化器中有效)  ORACLE的解析器按照從右至左的順序處理FROM子句中的表名,因此FROM子句中寫在最後的表(基礎資料表 driving

Oracle資料庫的啟動和停止

1、啟動資料庫:oracle@suse92:~> sqlplus /nolog SQL*Plus: Release 9.2.0.4.0 - Production on Fri Jan 20 02:29:37 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> connect /as sysdbaConnected to an idle instance.SQL>

ORACLE SQL效能最佳化(三)

8.使用DECODE函數來減少處理時間    使用DECODE函數可以避免重複掃描相同記錄或重複串連相同的表.    例如:   SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’;    SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0030 AND ENAME LIKE ‘SMITH%’;   

ORACLE SQL效能最佳化(四)

13. 計算記錄條數    和一般的觀點相反, count(*) 比count(1)稍快 , 當然如果可以通過索引檢索,對索引列的計數仍舊是最快的. 例如 COUNT(EMPNO)(譯者按: 在CSDN論壇中,曾經對此有過相當熱烈的討論, 作者的觀點並不十分準確,通過實際的測試,上述三種方法並沒有顯著的效能差別)  14. 用Where子句替換HAVING子句    避免使用HAVING子句, HAVING 只會在檢索出所有記錄之後才對結果集進行過濾. 這個處理需要排序,總計等操作.

Oracle用imp和exp實現資料的匯入和匯出

 Imp和Exp命令詳解:Exp匯出模式:Full模式---匯出整個資料庫User模式---匯出指定的使用者Table模式—匯出指定的表Tablespace模式—匯出表空間Exp匯出參數:OWNER指定要匯出的使用者列表FULL=y表示要匯出整個資料庫Tables指定要匯出的表Tablepaces指定要匯出的表空間ROWS=y表示匯出表資料,否則只匯出表的結構.HELP=Y表示要擷取協助Indexs指定是否匯出索引Grants表示是否匯出授權QUERY指定查詢條件,允許使用者匯出表的一部分資料T

Ubuntu 10.04 下安裝Oracle 11g步驟:

Ubuntu  10.04 下安裝Oracle 11g步驟:1. 安裝JDK,安裝方法見 Ubuntu 10.04下的搭建SUN JAVA開發環境解決中文亂碼問題,在jre目錄下字型目錄中建立"fallback"目錄,然後copy或者link你喜歡的字型至目錄下.2. 安裝必要的軟體包11g所需要的軟體包並不多,只要安裝build- essential,rpm,libaio,ksh,libtool,libstdc++5sudo apt-get install rpm libaio1 ksh

Oracle USERENV和sys_context

1.USEREVN()返回目前使用者環境的資訊,opt可以是:ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE 1.ISDBA   查看目前使用者是否是DBA如果是則返回trueSQL> select userenv('isdba') from dual;USEREN------FALSE2.SESSION 返回會話標誌SQL> select userenv('sessionid')

在ORACLE中使用SQL語句實現排列組合

SQL> select * from users; NAME VALUE         ID---- ----- ----------t1   a              1t2   b              2t3   c              3t4   d              4 --實現value列的值的兩兩組合 SQL> select REPLACE(sys_connect_by_path (value, '#'),'#') combo  2  from

ORACLE 暫存資料表的REDO UNDO

1.對永久表的insert產生了大量的redo,而對暫存資料表幾乎沒有產生任何redo。這是有道理的,對暫存資料表的insert只會產生很少的undo資料,而且對於暫存資料表只會為undo資料建立日誌。 2.永久表的update產生的redo大約是暫存資料表更新所產生的redo的兩倍。同樣,這也是合理的。必須儲存update的大約一半(即

ORACLE PL/SQL子程式–過程和函數學習筆記

溫故而知新,果然如此呀,第二次再翻開同樣的內容果然有不同的收穫,有些是第一次看的時候沒有仔細理解的,還有些可能是在第一次看匆匆就跳過的,當然,可能還有部分是自己當時記住了完了又給忘記了。今天第二次看到子程式這一章節,發現了些新的內容,呵呵。在這裡我就寫下一些基本內容和容易忘記的,免得下次又給忘了。內容可能不太全面,有點針對我個人哦,呵呵! 1.建立子程式的文法建立過程CREATE [OR REPLACE] PROCEDURE procedure_name[(argument [{IN |

ORACLE PL/SQL包(package)學習筆記

包由包規範和包體兩部分組成。 1、包規範(Package Specification)包規範,也叫做包頭,包含了有關包的內容的資訊。但是,它不包含任何過程的代碼。建立包頭的文法一般如下 CREATE [OR REPLACE] PACKAGE package_name {IS | AS}Procedure_name | function_name | variable_declaration | type_definition | exception_declaration |

總頁數: 1509 1 .... 490 491 492 493 494 .... 1509 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.