--=============================--PL/SQL-->DBMS_DDL包的使用--=============================為了便于建立性能良好的PL/SQL程序,Oracle提供了大量的系統包供使用。Oracle提供的這些包擴展并增強了數據庫的一些功能,以及突破了PL/SQL的一些限制。本文講述了Oracle提供的包DBMS_DDL,以及其使用方法。一、使用DBMS_DDL包可以對包,包體,存儲過程,函數,觸
系統 2019-08-12 01:55:31 2291
我們知道Oracle數據庫熱備有3步:1.altertablespacetbnamebeginbackup;2.cp/×××to/××3.altertablespacetbnameendbackup;這個過程要盡可能短,否則會造成大量的redolog。那么,數據庫在你執行beginbackup時,系統做了什么呢?1.tablespace發生了一次checkpoint------會把buffer臟數據全部寫入到數據文件2.tablespace下的數據文件的文
系統 2019-08-12 01:55:01 2291
原文:T-Sql(三)存儲過程(Procedure)今天講下T-sql語法中存儲過程的用法,我們一開始學習數據庫語言的時候就是用一些簡單的insert,select等語法,但是隨著我們學習數據庫的深入,就會發現一些簡單的語法滿足不了我們的要求,比如處理一些業務邏輯,多表關聯的時候,還有就是雖然程序或是簡單的sql語句也會實現其效果,但是性能或是效率會很低。這時候我們就會用到T-sql中的存儲過程,存儲過程就像C#中的方法一樣,傳遞參數,執行一些操作,返回相
系統 2019-08-12 01:54:50 2291
先假設一張表為Users(字段包括ID,Name,Age)現在要使用Row_Number查詢分頁功能,使用SQL語句如下:select*from(selectRow_Number()over(OrderbyID)asRowId,*fromUsers)UwhereU.RowIdbetween10and20(Tip:上面查詢語為每頁顯示10條,當前是第二頁)SQLServer2005Row_Number的使用.
系統 2019-08-12 01:54:19 2291
說出來有點丟人,做sqlserver應用系統近一年,竟然沒有使用過存儲過程,現在就好好的梳理一下對應知識,慢慢讓其加入到我的項目中去吧。存儲過程的優點:1、運行效率高,提供了在服務器端快速執行sql語句的有效途徑。2、存儲過程降低了客戶機和服務器之間的通信量。3、方便實施企業規則。(1)創建存儲過程①創建一個存儲過程,查看00005號課程的選修情況,包括選修該課程學生的學號、姓名和成績。解答:USESM(數據庫名稱)GOCREATEPROCEDUREssc
系統 2019-08-12 01:53:00 2291
selectcasewhen(datediff(yy,csrq,getdate())>18)then'18歲及以上'when(datediff(yy,csrq,getdate())=11)then'11歲'when(datediff(yy,csrq,getdate())=12)then'12歲'when(datediff(yy,csrq,getdate())=13)then'13歲'when(datediff(yy,csrq,getdate())=14)t
系統 2019-08-12 01:52:45 2291
在定義可變參數的函數之前,先來理解一下函數參數的傳遞原理:1、函數參數是以棧這樣的數據結構來存取的,在函數參數列表中,從右至左依次入棧。2、參數的內存存放格式:參數的內存地址存放在內存的堆棧段中,在運行函數的時候,從最后一個(最右邊)參數開始入棧。因此棧底高地址,棧頂低地址,舉個樣例說明一下:voidtest(inta,floatb,charc);那么,在調用test函數的時候,實參charc先進棧,然后是floatb,最后才是inta,因此在內存中變量的
系統 2019-08-12 01:52:28 2291
VS2010不能編譯SQLServer2005的Microsoft.SQLServer.ManagedDTS.dll是最近碰到的一個疑難雜癥問題,通過查詢微軟社區和一些英文資料找到了解決方法,同事說之前沒有找到中文的,就整理了放在這里。現象項目里需要使用程序創建SSIS包,結果在VS2010里可以添加Microsoft.SQLServer.ManagedDTS.dll引用,寫代碼也有智能提示,但是一編譯就告訴你引用不正確。有個警告里提示“warningMS
系統 2019-08-12 01:51:30 2291
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=/com.ibm.sqls.doc/ids_sqs_0187.htmListofExpressionsEachcategoryofSQLexpressionincludesmanyindividualexpressions.ThefollowingtablelistsalltheSQLexpressions(andso
系統 2019-08-12 01:33:50 2291
原文:SQLServer索引和表體系結構(三)包含列索引概述包含列索引也是非聚集索引,索引結構跟聚集索引結構是一樣,有一點不同的地方就是包含列索引的非鍵列只存儲在葉子節點;包含列索引的列分為鍵列和非鍵列,所謂的非鍵列就是INCLUDE中包含的列,至少需要有一個鍵列,且鍵列和非鍵列不允許重復,非鍵列最多允許1023列(也就是表的最多列-1),由于索引鍵列(不包括非鍵)必須遵守現有索引大小的限制(最大鍵列數為16,總索引鍵大小為900字節)的要求所以引進了包含
系統 2019-08-12 01:33:32 2291
同樣的命題在SQLServer2005中,微軟發布了一個報表,可以直接查看,但是這個報表不能用于SQLServer2000。于是我就寫了下面這幾句話,可以返回同樣的結果。createtabletmp(namevarchar(50),rowsint,reservedvarchar(50),datavarchar(50),index_sizevarchar(50),unusedvarchar(50))insertintotmp(name,rows,reserv
系統 2019-08-12 01:32:34 2291
開發人員的噩夢——刪除重復記錄想必每一位開發人員都有過類似的經歷,在對數據庫進行查詢或統計的時候不時地會碰到由于表中存在重復的記錄而導致查詢和統計結果不準確。解決該問題的辦法就是將這些重復的記錄刪除,只保留其中的一條。在SQLServer中除了對擁有十幾條記錄的表進行人工刪除外,實現刪除重復記錄一般都是寫一段代碼,用游標的方法一行一行檢查,刪除重復的記錄。因為這種方法需要對整個表進行遍歷,所以對于表中的記錄數不是很大的時候還是可行的,如果一張表的數據達到上
系統 2019-08-29 23:13:51 2290
93。STDDEV功能描述:計算當前行關于組的標準偏離。(StandardDeviation)SAMPLE:下例返回部門30按雇傭日期排序的薪水值的累積標準偏離SELECTlast_name,hire_date,salary,STDDEV(salary)OVER(ORDERBYhire_date)"StdDev"FROMemployeesWHEREdepartment_id=30;LAST_NAMEHIRE_DATESALARYStdDev--------
系統 2019-08-12 01:55:05 2290
轉自(http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html)一、基礎1、說明:創建數據庫CREATEDATABASEdatabase-name2、說明:刪除數據庫dropdatabasedbname3、說明:備份sqlserver---創建備份數據的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:\mssql7backu
系統 2019-08-12 01:54:06 2290
出處:http://blog.sina.com.cn/s/blog_59ca2c2a0101ilv1.htmlBlobToClob函數,代碼如下:--先創建Blog轉換為Clob的functionCREATEORREPLACEFUNCTIONBlobToClob(blob_inINBLOB)RETURNCLOBASv_clobCLOB;v_varcharVARCHAR2(32767);v_startPLS_INTEGER:=1;v_bufferPLS_IN
系統 2019-08-12 01:53:52 2290