Oracle筆記 四、增刪改、事務

 1、插入 insert into dept values(50, 'soft', 'Guangzhou'); insert into dept(deptno, dname) values(60, 'software test'); insert into dept select * from dept where deptno = 20; 2、刪除 delete from dept where deptno = 20; delete from

ORACLE多表查詢最佳化

ORACLE有個高速緩衝的概念,這個高速緩衝就是存放執行過的SQL語句,那oracle在執行sql語句的時候要做很多工作,例如解析sql語句,估算索引利用率,綁定變數,讀取資料區塊等等這些操作。假設高速緩衝裡已經儲存了執行過的sql語句,那就直接匹配執行了,少了步驟,自然就快了,但是經過測試會發現高速緩衝只對簡單的表起作用,多表的情況完全沒有效果,例如在查詢單表的時候那叫一個快,但是假設串連多個表,就龜速了。最重要一點,ORACLE的高速緩衝是全字元匹配的,什麼意思呢,看下面三個select--

oracle函數調用預存程序

1、無參數預存程序的調用--建立無參預存程序CREATE OR REPLACE FUNCTION stu_proc RETURN VARCHAR2 IS--聲明語句段 v_name varchar2(20);BEGIN--執行語句段 SELECT o.sname INTO v_name FROM student o where o.id=1;RETURN v_name;END;--調用無參預存程序DECLARE BEGIN DBMS_OUTPUT.put_line('在PL/

十分不明白,為什麼到處都在要求使用ORACLE

  這是否也是業界的一種浮躁?據我所知,一個優秀的資料庫管理員如果是從其它類型的資料轉型到ORACLE的管理,是一個十分耗費周期的事。  ORACLE資料庫管理員的價位也不低,為什麼到處還在要求能夠熟悉ORACLE?  根據部落格堂中的MVM的文章<<絕對好文推薦:《SQL Server大型伺服器:伸縮性、可用性與易管理性》>>,到微軟的網站上看到了這篇文章,感覺SQL Server

oracle的預存程序如何返回結果集

SQL server 的預存程序返回結果集很簡單Oracle 預存程序返回結果集怎麼這麼費勁?過程返回記錄集: CREATE OR REPLACE PACKAGE pkg_test AS     TYPE myrctype IS REF CURSOR;       PROCEDURE get (p_id NUMBER, p_rc OUT myrctype); END pkg_test; /   CREATE OR REPLACE PACKAGE BODY pkg_test AS    

面對Oracle 選擇 OracleClient 還是 Oledb??

使用OracleClient 來操作Oracle(Version - 7.3.4.4.0) 發現當遇到字串內容為中文的時候無法使用parameter 的形式來得到select 的結果。跟蹤調試整個過程沒有發現任何異常的情況。最後使用Oledb問題解決。個人總結,在Oracle(Version - 8以上版本)可以使用OracleClient沒有問題。當Oracle(Version - 8以下版本) 還是使用Oledb的好。如果發現.net

Retrieve multiple Oracle Ref Cursor using .NET data Provider for Oracle

IntroductionIn my earlier article Multiple Result Sets in ADO.net using SqlClient ,we have seen how to retrieve multiple results using Sqlclient against SQL Server. This was a fairly simple and straight forward. We can achieve the same against

一個Oracle、DB2、MS SQL Server都有的最佳化選項

Oracle、DB2、MS SQL Server都有的QueryHint,好像就只有一個了,他們在不同資料庫的表現形式為:Oracle:SELECT /*+ FIRST_ROWS */ * FROM T WHERE (F1 > 5)MS SQL ServerSELECT * FROM T WHERE (F1 > 5) OPTION ( FAST 10)DB2 UDBSELECT * FROM T WHERE (F1 > 5) OPTIMIZE FOR 1 ROWSELECT *

有感於Oracle 9i的QueryHints

Oracle的QueryHint竟然有120多個,包括Undocument的,有180多,太多太多了。大型項目的開發過程中,也許要保留這些QueryHint讓最終的實施人員可以根據實際情況進行配置。我也發現了一個中文的介紹Oracle效能最佳化的系列文章:ORACLE SQL效能最佳化系列http://www.dbonline.cn/source/oracle/20031218/oracle%20SQL%20performance%20tuning1.htmlOracle的Hints列表(英文)

oracle 一些常見函數操作

1:給出時間,如"2011-7-23",查詢星期幾;     select to_char(to_date('2011-7-23','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;   結果: saturday   select to_char(to_date('2011-7-23','yyyy-mm-dd'),'day') from dual;   結果: 星期六2:查詢系統時間;     select

Oracle中建立自增列

由於第一次在項目中使用Oracle。哎,慚愧啊,居然被一個自增列的問題困擾許久。這個沒有SQL Server使用起來方便,Oracle需要通過自增序列SEQUENCE加上觸發器來實現。1、建立SEQUENCE,首先你需要有CREATE SEQUENCE或者CREATE ANY

淺析Oracle中的不等號

關於Oracle中的不等號: 在Oracle中, <> != ~= ^= 都是不等號的意思。都可以使用。 但是奇怪是的, 我想拿出price不是180000的商品時:(price是Number類型的) SELECT id, name  FROM product where price<> 180000; 執行這個語句時,priceis null  的記錄不出來。也就是拿不到price是null的商品。必須使用: SELECT id, name  FROM product

解析Oracle查詢和刪除JOB的SQL

查詢及重複資料刪除記錄的SQL語句1、尋找表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷select * from peoplewhere peopleId in (select   peopleId from   people group by   peopleId having count(peopleId) > 1)2、刪除表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷,只留有rowid最小的記錄delete from people

解析mysql與Oracle update的區別

update :單表的更新不用說了,兩者一樣,主要說說多表的更新複製代碼 代碼如下:       Oracle> Oracle的多表更新要求比較嚴格,所以有的時候不是很好寫,我們可以試試Oracle的遊標        update (        select t.charger_id_ new_charger_id_         from t_cus_year_status t         left join t_customer_infos cus on cus.id_ =

Oracle層次查詢和with函數的使用樣本

開發中大家應該都做過什麼類似部門管理這樣的功能,一般情況下一個部門下面還有下一級部門(子部門),這個層級就類似一棵樹。這種情況下一般會把父級部門和子級部門分成2個或者多個表,這種算是比較常規的做法;有時可能為了資料表管理的方便 就把所有的部門放在一張表裡並加上一個欄位標識部門之間的隸屬關係,這樣子看起來有點奇怪,但湊合用用還是Ok的。下面我跟大家分享下我的心得,也就是基於這種設計怎麼做數形圖,簡單的做法就是查詢出一個list集合就可以,要怎麼辦呢先來看下我的資料表

Linux Apache PHP Oracle 安裝配置(具體操作步驟)

Oracle 就不說了,Linux 是 CentOS。1. 安裝 httpd(apache)yum install httpd -y2. 安裝 php, php-gd, php-mcrypt, php-pecl*yum install php php-gd php-mcrypt php-pecl* -y3. 安裝 oci8pecl install oci8安裝時輸入oracle安裝目錄4.修改 httpd.conf找到User apacheGroup

深入ORACLE遷移到MYSQL的總結分析

這兩個星期裡一直都在忙於一件事兒,就是資料庫的遷移問題。沒有做的時候感覺這是一件十分輕鬆的事兒,可是等到實實在在去做去實現的時候,自己傻眼了。這種糾結啊,在這裡先說下遇到的問題:1。資料庫的表結構問題:資料類型不同需要解決varchar2------varchar、number-----int、date----datetime,建表的sql語句欄位預設值、注釋怎麼解決。2.

六分鐘學會建立Oracle資料表空間的實現步驟

經過長時間學習建立Oracle資料表空間,於是和大家分享一下,看完本文你肯定有不少收穫,希望本文能教會你更多東西。1、先查詢空閑空間複製代碼 代碼如下:select tablespace_name,file_id,block_id,bytes,blocks from dba_free_space; 2、增加Oracle資料表空間先查詢資料檔案名稱、大小和路徑的資訊,語句如下:複製代碼 代碼如下:select tablespace_name,file_id,bytes,file_name

ADO.Net對oracle資料庫操作的執行個體代碼

首先要寫連接字串可以在web.config裡寫上複製代碼 代碼如下:<connectionStrings> <add name="oracleson" connectionString="Data Source=dingsenorcl;Persist Security Info=True;User ID=ds;Password=ds;Unicode=True" providerName="System.Data.OracleClient"/>

Oracle 資料庫最佳化實戰心得總結

1.最佳化應用程式和商務邏輯,這個是最重要的。 2.資料庫設計階段範式和反範式的靈活應用。一般情況下,對於頻繁訪問但是不頻繁修改的資料,內部設計應當物理不正常化;對於頻繁修改但並不頻繁訪問的資料,內部設計應當物理正常化。 3.充分利用記憶體,最佳化sga、pga等(11g已經實現了sga+pga自動化,但有的時候仍然需要手動進行調整),適當的將小表keep到cache中。 4.最佳化sql語句

總頁數: 1509 1 .... 1061 1062 1063 1064 1065 .... 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.