freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

delphi編碼標(biāo)準(zhǔn)07-資料下載頁

2025-07-14 15:46本頁面
  

【正文】 令如下: ALTER TABLE table_name ENABLE ALL TRIGGERS 或 ALTER TRIGGER trigger_name ENABLEMS SQL SERVER: 同Sybase語法。DB2: 同Oracle一樣也有事件之前與事件之后觸發(fā)器的區(qū)分,語法如下:CREATE TRIGGER trigger name {NO CASCADE BEFORE|AFTER} {INSERT| DELETE | UPDATE [OFcolumnname] } ONtablename[REFERENCING OLD AS correlationname NEW AS correlationname OLD_TABLE AS identifier NEW_TABLE AS identifier]{FOR EACH ROW| FOR EACH STATEMENT} MODE DB2SQL triggeredactionWHEN (search condition)[BEGIN ATOMIC]Triggered SQL statement[END] Procedure的差異及解決方法SYBASE:CREATE PROCEDURE @PARAMETER_NAME DATATYPE = DEFAULT OUTPUT…AS SQL_STATEMENTS注意事項(xiàng):◇ 命令中的parameter_nmae后都跟有一個(gè)可選項(xiàng)number,它是一個(gè)整數(shù),用來區(qū)別一組同名的過程,這樣它們就可用一個(gè)DROP PROCEDURE語句刪除掉;用于同一個(gè)應(yīng)用程序中的過程常用這種方法分組在調(diào)用時(shí)可在過程名后加“;Number”,即(Procedure_Name;number);◇ 參數(shù)parameter_name是存儲(chǔ)過程的自變量,在過程定義(創(chuàng)建)時(shí)給出它的形參(數(shù)據(jù)類型缺省值等),在調(diào)用(執(zhí)行)這個(gè)過程時(shí)給出參數(shù)的具體值,這里的參數(shù)名必須以@開頭,包括@最長為30個(gè)字符,它不能與數(shù)據(jù)庫對(duì)象同名;◇ 在參數(shù)的定義中還有一個(gè)缺省值default的選擇項(xiàng),這個(gè)項(xiàng)用來給 出缺省值,當(dāng)執(zhí)行一個(gè)存儲(chǔ)過程而沒有給出相應(yīng)參數(shù)時(shí),參數(shù)缺省值可以是NULL,也可以含有通配符,名%,,[]及^等;◇ 在執(zhí)行存儲(chǔ)過程時(shí),若參數(shù)的形式@parameter=value出現(xiàn),則參數(shù)的次序不限,否則應(yīng)該為創(chuàng)建此過程時(shí)的參數(shù)排列次序。若某個(gè)參數(shù)為形式@parameter=vaue,則其它的所有參數(shù)亦為此;◇ 一個(gè)存儲(chǔ)過程可以調(diào)用其它存儲(chǔ)過程,這種嵌套調(diào)用的層數(shù)限于16,當(dāng)前嵌套層數(shù)的值保存在全局變量@@nestlevel中;◇ 可以自己的SQL Server上執(zhí)行另一個(gè)SQL Server上的存儲(chǔ)過程,這時(shí)另一個(gè)SQL Server的名字應(yīng)作為過程名的前綴。但是遠(yuǎn)程過程的調(diào)用并非看作事務(wù)的一部分。所以當(dāng)在一個(gè)事務(wù)進(jìn)行遠(yuǎn)程的調(diào)用后,執(zhí)行Rollback命令滾回事務(wù)時(shí),遠(yuǎn)程過程在遠(yuǎn)程服務(wù)器上作的修改不能滾回;◇ 存儲(chǔ)過程能夠返回一個(gè)整數(shù),稱之為“返回狀態(tài)”。這個(gè)值用來指示存儲(chǔ)過程的執(zhí)行是完全正確不是有錯(cuò)誤(及錯(cuò)誤類型);◇ 當(dāng)創(chuàng)建過程和執(zhí)行過程的語句均包括帶參數(shù)名的OUTput選擇時(shí),過程將給調(diào)用者返回一個(gè)值。這各參數(shù)傳值的方法與高級(jí)語言中的幾種調(diào)用方法有所不同,假設(shè)在創(chuàng)建語句中某參數(shù)定義為帶OUTput的:@parameter datatype OUTput,則在執(zhí)行過程的語句中可用帶OUTput的結(jié)構(gòu)取下返回的參數(shù)值:@parameter=@varlable OUTput,其中@varlable用來保留返回的參數(shù)值,所以在這個(gè)位置上不能是一個(gè)常數(shù)而必須是一個(gè)變量@varlable。如果在執(zhí)行一個(gè)過程的語句中某參數(shù)帶有OUTput的參數(shù)在執(zhí)行該過程的語句中可以沒有這個(gè)帶OUTput的參數(shù),這說明了過程的調(diào)用者此時(shí)不想要返回值;◇ 在CREATE PROC和EXEC兩個(gè)中都帶有RECOMPILE選擇項(xiàng),但是二者含義不同。在創(chuàng)建語句中的RECOMPILE是讓SQL Server不保存這個(gè)過程的執(zhí)行方案,而在每次執(zhí)行時(shí)產(chǎn)生這個(gè)方案。這通常用于執(zhí)行方案含改變的情況。在執(zhí)行語句中的RECOMPILE是讓SQL Server編譯一個(gè)新方案,通常(創(chuàng)建這個(gè)過程的語句中沒有RECOMPILE)這個(gè)方案被保留起來以供下次使用。它主要用數(shù)據(jù)被大量修改,提供參數(shù)的異常等情況,如果在創(chuàng)建語句中用到“select *”,則即使用RECOMPILE執(zhí)行該過程也找不到新添加到表中的列,你必須刪除(ORO)這個(gè)過程再重新創(chuàng)建。◇ 為了讓其他用戶使用自己定義的存儲(chǔ)過程,則過程中被某命令用到的對(duì)象名應(yīng)冠以對(duì)象所有者的名字;◇ 可用sp_rename更改過程名:sp_rename oldname,newname;◇ 過程用DROP PROCedure命令來刪除。 規(guī)則:◇ CREATE PROCedure語句不能在單一批理中與其它SQL語句組合;◇ CREATE PROCedure語句的定義本身可包括任意數(shù)目和類型的SQL語句,除USE和下面的這些CREATE語句:VIEW、DEFAULT、RULE、TRIGGER、PROEedure;◇ 除了上面的目標(biāo)外,其它數(shù)據(jù)庫目標(biāo)都能夠在一個(gè)過程內(nèi)部被生成,可以引用已經(jīng)在同一過程里生成的目標(biāo),只要該目標(biāo)在引用它之前生成(目標(biāo)生成的CREATE語句必須按過程內(nèi)語句的實(shí)際順序放在前面);◇ 在存儲(chǔ)過程內(nèi)部,不能生成目標(biāo),然后刪掉它,接著又生成與其同名的新目標(biāo);◇ 如果執(zhí)行一個(gè)調(diào)用其它過程的過程,被調(diào)用的過程可以存取第一個(gè)過程所生成的目標(biāo);◇ 在一個(gè)過程中,可以引用臨時(shí)表;◇ 如果在過程內(nèi)生成一個(gè)臨時(shí)表,該臨時(shí)表僅為該過程而存在;退出該過程時(shí),該臨時(shí)表自動(dòng)消失;◇ 在一個(gè)存儲(chǔ)過程的最大參數(shù)數(shù)量是255個(gè);◇ 在一個(gè)存儲(chǔ)過程中局部變量和全局變量的最大數(shù)目只受可用存儲(chǔ)空間限制。ORACLE:定義的句法參數(shù)格式同sybase不相同CREATE [or replace] PROCEDURE [owner.]PROCEDURE[ARGUMENT [IN|OUT|IN OUT] DATATYPE][,ARGUMENT [IN|OUT|IN OUT] DATATYPE …… ]…{IS|AS} SQL_STATEMENTS 規(guī)則:◇ 如果某個(gè)過程已存在,用or replace參數(shù)時(shí)可以置換該已存在的過程;◇ IN限制詞指定在調(diào)用過程時(shí)必須給參數(shù)的值;◇ OUT限制詞表示過程使用這個(gè)參數(shù)給調(diào)用者返回一個(gè)值;◇ IN OUT限制詞表示這個(gè)參數(shù)既是IN也是OUT,在調(diào)用過程時(shí)必須為該參數(shù)賦值,并通過該參數(shù)給用戶返回一個(gè)值;◇ 在SQL_STATEMENTS中不能有Create view等Create語句; 說明:◇ 可以在數(shù)據(jù)庫內(nèi)進(jìn)行復(fù)雜的商業(yè)規(guī)則的處理,在客戶/服務(wù)器應(yīng)用中,把復(fù)雜的處理從應(yīng)用中(客戶端)搬移到數(shù)據(jù)庫中(服務(wù)器端),可極大地改進(jìn)應(yīng)用性能;◇ 由于過程代碼存儲(chǔ)在數(shù)據(jù)庫內(nèi)且完全是靜態(tài)的,用戶可以在數(shù)據(jù)庫內(nèi)再次使用相同的查詢;◇ 存儲(chǔ)過程一經(jīng)創(chuàng)建便可執(zhí)行;◇ 執(zhí)行存儲(chǔ)過程的用戶不需要具有存儲(chǔ)過程所訪問的表的訪問權(quán)限;◇ 在過程執(zhí)行時(shí)可用變量來傳遞參數(shù);MS Sql Server:CREATE PROCedure [owner.]procedure_name[。number] [(parameter1 [, parameter2]...[parameter255])][{FOR REPLICATION} | {WITH RECOMPILE} [{[WITH] | [,]} ENCRYPTION]]AS sql_statements◆ 說明:number選項(xiàng): 在語法中,Number選項(xiàng)是一個(gè)可選的整數(shù),它用于將有相同名字的存儲(chǔ)過程編組,這樣它們就可用一個(gè)DROP PROCEDURE語句刪除掉;用于同一個(gè)應(yīng)用程序中的過程常用這種方法分組在調(diào)用時(shí)可在過程名后加“;Number”,即(Procedure_Name;number);ENCRYPTION選項(xiàng): 該選項(xiàng)加密sysments表中的CREATE PROCedure語句文本的;僅當(dāng)絕對(duì)必要的時(shí)候使用加密;無論何時(shí)都不要?jiǎng)h除sysments表中的項(xiàng);parameter選項(xiàng): 格式:◇ @parameter_name Datatype ◇ @parameter_name Datatype [=default | NULL]◇ @parameter_name Datatype [=default | NULL][OUTPUT]@parameter_name Datatype在過程中指定的參數(shù);在CREATE PROCEDURE語句中可以聲明一個(gè)或多個(gè)參數(shù);在調(diào)用過程時(shí)用戶必須為每個(gè)聲明的參數(shù)提供值(除非定義了參數(shù)缺省值)。規(guī)則和準(zhǔn)則◇不能在存儲(chǔ)過程的定義中引用一個(gè)不存在的對(duì)象;◇在定義時(shí)可以包括任何數(shù)目和類型的SQL語句,CREATE語句外;◇在存儲(chǔ)過程內(nèi)部,不能用相同一個(gè)名字創(chuàng)建、刪除、或者用同一個(gè)名字重建對(duì)象;◇可以具有多達(dá)255個(gè)的參數(shù);◇存儲(chǔ)過程中的變量數(shù)是不受限制的(僅由可用內(nèi)存決定);◇通話你引用存儲(chǔ)過程內(nèi)創(chuàng)建的臨時(shí)表和存儲(chǔ)過程外創(chuàng)建的全局臨時(shí)表;但是局部臨時(shí)表在過程執(zhí)行完畢時(shí)即行消失。DB2: ◆DB2的存儲(chǔ)過程組成: 存儲(chǔ)過程本身,在服務(wù)器上運(yùn)行; 用戶程序,在客戶機(jī)上運(yùn)行。◆限制: 在調(diào)用存儲(chǔ)過程時(shí),所有輸入數(shù)據(jù)都必須經(jīng)用戶程序傳遞給存儲(chǔ)過程; 只有當(dāng)存儲(chǔ)過程完成執(zhí)行后,才能將結(jié)果返回; 在存儲(chǔ)過程執(zhí)行中,不允許用戶程序和存儲(chǔ)過程之間有任何交互操作?!艟帉懀嚎梢杂盟拗髡Z言來寫存儲(chǔ)過程,如C,C++,COBOL,F(xiàn)ORTRAN或REXX等;然后用戶程序可用CALL語句來調(diào)用該存儲(chǔ)過程?!粢?guī)則: 一個(gè)存儲(chǔ)過程不能用exit函數(shù)終止,它必須返回到調(diào)用它的應(yīng)用程序; 一個(gè)存儲(chǔ)過程不能去執(zhí)行任何SQL語句(如CONNECT)去改變與它連接好的數(shù)據(jù)庫,它只能依賴于應(yīng)用程序已建立好連接的數(shù)據(jù)庫; 一個(gè)存儲(chǔ)過程,如它被用Type2數(shù)據(jù)庫連接的應(yīng)用程序調(diào)用(分布式事務(wù)),它不能去執(zhí)行SQL中的COMMIT或ROLLBACK語句; 當(dāng)存儲(chǔ)過程作為背景模式運(yùn)行時(shí),不能用printf將輸出顯示到屏幕上,但是可以寫到服務(wù)器的文件上; 如存儲(chǔ)過程在SQLDA的sqlind域內(nèi)置128,該數(shù)據(jù)項(xiàng)不能返回到應(yīng)用程序; 如用C++去寫存儲(chǔ)過程,在實(shí)現(xiàn)文件中,應(yīng)說明將C作為外部函數(shù),這樣可保證在連接編譯時(shí)用你賦予的名字,而不是C++選用的mangled名字,盡量避免使用超載C++函數(shù)名; LOB數(shù)據(jù)類型(Blob,Clob和Dbclob)參數(shù),只能在用戶和服務(wù)器之間交換; 如在Blob中放二進(jìn)制數(shù),該數(shù)值在客戶和服務(wù)器之間交換時(shí)被當(dāng)作“as is”即同類型,如在客戶和服務(wù)器之間,整數(shù)表示不同,存儲(chǔ)過程應(yīng)負(fù)責(zé)它們之間的轉(zhuǎn)換; 如客戶和服務(wù)器之間用Char,Varchar,Long Varchar,Clob,Graphic,Vargraphic,Long Vargraphic或Dbclob等字符串類型交換數(shù)據(jù),系統(tǒng)完成客戶應(yīng)用和數(shù)據(jù)庫之間頁碼的相互轉(zhuǎn)換,如客戶應(yīng)用和數(shù)據(jù)庫用不同頁碼,這種轉(zhuǎn)換對(duì)字符串中裝滿任何二進(jìn)制信息均有損壞; 在與存儲(chǔ)過程交換雙字節(jié)數(shù)據(jù)(SQL數(shù)據(jù)類型Graphic,Vargraphic,Long Vargraphic或Dbclob)時(shí),常以多字節(jié)格式(不是寬字符格式)交換。即存儲(chǔ)過程的參數(shù)和結(jié)果常用預(yù)編譯選項(xiàng)WCHARTYPE NOCONVERT格式來說明?!舭惭b:在使用前,存儲(chǔ)過程必須安裝在服務(wù)器上,安裝過程與創(chuàng)建進(jìn)程(預(yù)編譯,編譯和連接)應(yīng)用程序很相似;啟動(dòng)安裝進(jìn)程前,保證存儲(chǔ)過程要用的數(shù)據(jù)庫已建好。 建一個(gè)包括存儲(chǔ)過程名和調(diào)用定義文件模塊的單個(gè)文件;用存儲(chǔ)過程源文件“輸出”的函數(shù)(對(duì)動(dòng)態(tài)加載也可以)是可執(zhí)行的存儲(chǔ)過程;在同存儲(chǔ)過程源文件的目錄下再建一個(gè)模塊說明文件,;,可內(nèi)容包括下列2行:LIBRARY SERVER1EXPORTS SERVER1 生成該存儲(chǔ)過程(預(yù)編譯、編譯和連接); 將可執(zhí)行文件放到服務(wù)器上適當(dāng)?shù)哪夸浿校?DB2 PATH%\function); 權(quán)限:在你的存儲(chǔ)過程軟件包上授予EXECUTE權(quán)限,如:GRANT EXECUTE ON PACKAGE server1 TO PUBLIC ;◆ 調(diào)用在客戶端可用SQL CALL語句來執(zhí)行存儲(chǔ)過程:CALL 過程名(變量,變量……)其中變量既可以作為輸入?yún)?shù),又可以作為輸出參數(shù);不能用常量來代替,例: 錯(cuò)誤: EXEC SQL CALL server1(7,null) 正確: x=7。 xind=0。 y=0。 yind=1。 EXEC SQL CALL server1(:x :xind , :y :yind)。View的差異及解決方法SYBASE: CREATE VIEW COLUMN_NAME,… AS SELECT DISTINCT SELECT_STATEMENT WITH CHECK OPTION 其中:select_statement是任意有效的select語句,但有以下限制:不能有order by 或puter子句;在視圖中不能引用臨時(shí)表。ORACLE:同sybase的相同。 CREATE VIEW FORCE|NOFORCE VIEW ALIAS
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1