當前位置:首頁 » 存儲配置 » 文件的存儲程序

文件的存儲程序

發布時間: 2023-01-09 07:35:46

1. 如何編寫存儲過程

//創建存儲過程

CREATE PROCEDURE userData(

IN id INT

)

BEGIN

SELECT * from userdata WHERE userflag = id;

END;

其中IN是傳進去的變數;

drop procere userData;//銷毀這個存儲過程。

call userData(2) //調用存儲過程。

(1)文件的存儲程序擴展閱讀:

sql中的存儲過程及相關介紹:

CREATE PROCEDURE [擁有者.]存儲過程名[;程序編號]

[(參數#1,…參數#1024)]

[WITH

{RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}

]

[FOR REPLICATION]

AS 程序行

其中存儲過程名不能超過128個字。每個存儲過程中最多設定1024個參數

(SQL Server 7.0以上版本),參數的使用方法如下:

@參數名數據類型[VARYING] [=內定值] [OUTPUT]。

每個參數名前要有一個「@」符號,每一個存儲過程的參數僅為該程序內部使用,參數的類型除了IMAGE外,其他SQL Server所支持的數據類型都可使用。

[內定值]相當於我們在建立資料庫時設定一個欄位的默認值,這里是為這個參數設定默認值。[OUTPUT]是用來指定該參數是既有輸入又有輸出值的,也就是在調用了這個存儲過程時,如果所指定的參數值是我們需要輸入的參數。

同時也需要在結果中輸出的,則該項必須為OUTPUT,而如果只是做輸出參數用,可以用CURSOR,同時在使用該參數時,必須指定VARYING和OUTPUT這兩個語句。

參考資料來源:網路-儲存過程



2. 計算機中程序與數據採用不一樣的存儲方式對嗎

計算機中程序與數據採用不一樣的存儲方式是對的。在計算機中,數據以文件的方式組織存儲,程序則不同。
計算機用「文件」方式管理程序和數據。計算機文件是存儲在某種長期儲存設備上的一段數據流,經常在磁碟不同的位置存儲為多個數據碎片;操作系統會將它們組織成文件系統,每個文件放在特定的文件夾或目錄中。
計算機文件(或稱文件、電腦檔案、檔案),是存儲在某種長期儲存設備上的一段數據流。所謂「長期儲存設備」一般指磁碟、光碟、磁帶等。其特點是所存信息可以長期、多次使用,不會因為斷電而消失。
(2)文件的存儲程序擴展閱讀:
計算機文件是以計算機硬碟為載體存儲在計算機上的信息集合。文件可以是文本文檔、圖片、程序等等。文件通常具有點+三個字母的文件擴展名,用於指示文件類型(例如,圖片文件常常以 JPEG 格式保存並且文件擴展名為 .jpg)。
雖然一個文件表現為一個單一的流,但它經常在磁碟不同的位置存儲為多個數據碎片(甚至是多個磁碟)。操作系統會將它們組織成文件系統,每個文件放在特定的文件夾或目錄中。
文件是由軟體創建的,而且符合特定的文件格式。

3. 資料庫中的存儲過程是什麼

存儲過程是存儲在
.dbc
文件中的
Visual
FoxPro
代碼,是專門操作資料庫中數據的代碼過程。存儲過程可以提高資料庫的性能,因為在打開一個資料庫時,它們便載入到了內存中。
使用存儲過程主要是為了創建用戶自定義函數,欄位級規則和記錄級有效性規則將引用這些函數。當把一個用戶自定義函數作為存儲過程保存在資料庫中時,函數的代碼保存在
.dbc
文件中,並且在移動資料庫時,會自動隨資料庫移動。使用存儲過程能使應用程序更容易管理,因為可以不必在資料庫文件之外管理用戶自定義函數。

4. android中的存儲方式有哪些

Android提供以下四種存儲方式:
1.SharePreference
2.SQLite
3.File
4.ContentProvider

SharedPreference:
SharedPreference是一種輕型的數據存儲方式,實際上是基於XML文件存儲的「key-value」鍵值對數據。通常用來存儲程序的一些配置信息。其存儲在「data/data/程序包名/shared_prefs目錄下。
SharedPreference本身只能獲取數據,不支持存儲和修改。存儲和修改要通過Editor對象來實現。
SQLite:
SQLite是一個輕量級關系型資料庫,既然是關系型資料庫,那操作起來其實跟mysql、sql
server差不多的。

需要注意的一點是,SQLite只有NULL、INTEGER、REAL(浮點數)、TEXT(字元串)和BLOB(大數據)五種類型,不存在BOOLEAN和DATE類型。
File:
常說的文件(I/O)存儲方法,常用語存儲大數量的數據,但是缺點是更新數據將是一件困難的事情。
ContentProvider:
ContentProvider相對於其它的方式比較復雜,當然其功能相對於其它的方式也是革命性的改變。它能夠實現跨應用之間的數據操作。利用ContentResolver對象的delete、update、insert、query等方法去操ContentProvider的對象,讓ContentProvider對象的方法去對數據操作。

5. 文件以什麼形式存儲在內存空間上

內存就是暫時存儲程序以及數據的地方,比如當我們在使用WPS處理文稿時,當你在鍵盤上敲入字元時,它就被存入內存中,當你選擇存檔時,內存中的數據才會被存入硬(磁)盤。

只讀存儲器(ROM)
ROM表示只讀存儲器(Read Only Memory),在製造ROM的時候,信息(數據或程序)就被存入並永久保存。這些信息只能讀出,一般不能寫入,即使機器停電,這些數據也不會丟失。ROM一般用於存放計算機的基本程序和數據,如BIOS ROM。其物理外形一般是雙列直插式(DIP)的集成塊。
隨機存儲器(RAM)
隨機存儲器(Random Access Memory)表示既可以從中讀取數據,也可以寫入數據。當機器電源關閉時,存於其中的數據就會丟失。我們通常購買或升級的內存條就是用作電腦的內存,內存條(SIMM)就是將RAM集成塊集中在一起的一小塊電路板,它插在計算機中的內存插槽上,以減少RAM集成塊佔用的空間。目前市場上常見的內存條有1G/條,2G/條,4G/條等

你說的是哪個內存?

6. 啥叫「存儲過程」啊

存儲過程
存儲過程是保存在資料庫中的專門進行數據操作的代碼過程。存儲過程通常與觸發器結合使用,來控制數據的完整性。在打開資料庫時,存儲過程被自動載入到內存中,可以象其他過程文件一樣進行調用。

1.建立存儲過程
可以在項目管理器中選擇建立或修改存儲過程。在項目管理器的Data選項卡中選定Stored Proceres節點,然後單擊New、Add或Modify按鈕都將打開存儲過程文本編輯器,如圖7-12所示。

也可以在首先打開資料庫的情況下,執行MODIFY STRUCTURE命令打開存儲過程文本編輯器。如:

OPEN DATABASE dbMyData
MODIFY STRUCTURE

一個資料庫的所有存儲過程包含在一個文件中,過程使用PROCEDURE語句聲明,這與一般的過程文件是完全一樣的。

例如,下面為資料庫建立了一個名為NewStuId的存儲過程,該過程為學生檔案表的StuId欄位根據當前StuId中的最大值自動生成一個編號,並保存到StuId欄位中中,如圖7-13所示。

圖7-12 可以在項目管理器選擇建立或修改存儲過程

圖7-13 NewStuId存儲過程

執行下面的代碼,將在學生檔案表中添加一條新記錄,並為StuId欄位賦值。

APPEND BLANK

NewStuId() &&執行存儲過程

需要注意的是,如果准備存儲過程用於表的觸發器,則不能包含如圖7-13中所示的CALCULATE、GO和REPLACE這些引起記錄移動的命令。

2.從文本文件中導入存儲過程
可以使用APPEND PROCEDURES命令將文本文件中的存儲過程以編程的方式添加到當前資料庫中,其語法格式如下:

APPEND PROCEDURES FROM FileName [AS nCodePage] [OVERWRITE]

其中,FileName指定保存存儲過程的文本文件名稱;AS nCodePage指定要追加其存儲過程的文本文件要轉換的代碼頁;OVERWRITE指定用文本文件中的過程改寫資料庫中的當前存儲過程,如果不包含此參數,文本文件中的存儲過程將追加到當前存儲過程中。

需要注意的是,在使用該命令前,資料庫必須以獨占方式打開並設置為當前資料庫。

3.將存儲過程導出到文本文件中
可以使用COPY PROCEDURES命令將當前資料庫中的存儲過程導出到文本文件,其語法格式如下:

COPY PROCEDURES TO FileName [AS nCodePage] [ADDITIVE]

其中,FileName指定文本文件名,存儲過程將被復制到此文本文件中;AS nCodePage指定文本文件的代碼頁;ADDITIVE指定將存儲過程追加到指定文本文件尾,如果若省略該參數,則覆蓋文本文件的內容。

4.查看資料庫中的存儲過程
可以使用DISPLAY PROCEDURES或LIST PROCEDURES命令顯示當前資料庫中的存儲過程名稱,二者的功能基本相同。其中,DISPLAY PROCEDURES命令的語法格式如下:

DISPLAY PROCEDURES [TO PRINTER [PROMPT] | TO FILE FileName] [NOCONSOLE]

其中,TO PRINTER [PROMPT]指定將顯示結果輸出到列印機中,包含PROMPT子句可以在列印開始前顯示一個列印對話框;TO FILE FileName指定將顯示結果輸出到FileName指定的文件中;NOCONSOLE指定不向Visual FoxPro主窗口或活動的用戶自定義窗口輸出。

例如,下面的代碼將顯示dbMyData資料庫中的存儲過程名稱。

OPEN DATABASE dbMyData

DISPLAY PROCEDURES

7.3.6 設置觸發器
觸發器是綁定在表上的表達式,當表中的任何記錄被指定的操作命令修改時,觸發器被激發。當數據修改時,觸發器可執行資料庫應用程序要求的任何其他操作。

觸發器作為特定表的屬性來創建和存儲。如果從資料庫中移去一個表,則同時刪除和該表相關聯的觸發器。從前面的表7-7可以看出,觸發器是在進行了其他所有檢查之後(如有效性規則、主關鍵字的實施,以及NULL值的實施)被激活,位於所有約束的最後面。並且與欄位級規則和記錄級規則不同,觸發器不對緩沖數據起作用。

1.建立觸發器
可以使用表設計器或CREATE TRIGGER命令來創建觸發器。對於每個表,可為插入、更新及刪除3個事件各創建一個觸發器。在任何情況下,一個表最多隻能有3個觸發器。觸發器必須返回「真」(.T.)或「假」(.F.),只有返回「真」時操作才能繼續進行。能夠激發觸發器的命令如表7-9所示。

表7-9 能夠激發觸發器的命令

觸發器
命令

刪除觸發器
DELETE命令

插入觸發器
APPEND FROM、APPEND FROM ARRAY、APPEND BLANK、IMPORT、INSERT-SQL和RECALL命令

序表

觸發器
命令

更新觸發器
GATHER、REPLACE、REPLACE FROM ARRAY和UPDATE SQL命令

需要注意的是,不能對有觸發器的表使用INSERT命令,但是可以使用INSERT-SQL命令;發出PACK或ZAP不會激發任何觸發器;如果更新具有刪除標記的記錄,不會激發觸發器;如果表使用了緩沖模式,只有當使用TABLEUPDATE( )函數進行發送更新時,才激發更新觸發器。

下面是在dbMyData資料庫中建立的4個存儲過程。其中,InsertData用於在添加記錄時顯示一個「新增記錄…」提示;UpdateData用於在記錄更新時自動將更新記錄寫入到一個日誌表tblStudent2中,來記錄用戶對學生檔案表所做的修改;DeleteData用於在刪除記錄時顯示一個信息框,詢問用戶是否確認刪除記錄;WriteLog用於寫入日誌,該過程可以接收來自UpdateData過程的參數傳入值。

PROCEDURE WriteLog

PARAMETERS lcStuId,lcStuName,lcClassName,ldEnterDate,lnChinese,lnMaths,lnTotal

*!* 將變動寫入到日誌表tblStuden2中

INSERT INTO tblStudent2 (StuId,StuName,ClassName,EnterDate,Chinese,Maths,Total) ;

VALUES (lcStuId,lcStuName,lcClassName,ldEnterDate,lnChinese,lnMaths,lnTotal)

PROCEDURE InsertData

WAIT WINDOW "新增記錄..." NOWAIT TIMEOUT 2

RETURN .T.

PROCEDURE UpdateData

WAIT WINDOW "正在將變動寫入日誌表..." NOWAIT TIMEOUT 2

WriteLog(StuId,StuName,ClassName,EnterDate,Chinese,Maths,Total)

RETURN .T.

PROCEDURE DeleteData

IF MESSAGEBOX("確認刪除該記錄嗎?",4+32," 提示")=6

RETURN .T.

ELSE

RETURN .F.

ENDIF

打開表設計器,在Table選項卡的Insert trigger、Update trigger和Delete trigger文本框中分別輸入InsertData()、UpdateData()和DeleteData(),如圖7-14所示。

圖7-14 為表建立觸發器

也可以使用CREATE TRIGGER命令為表建立觸發器表達式,該命令的語法格式如下:

CREATE TRIGGER ON TableName FOR DELETE | INSERT | UPDATE AS lExpression

其中,TableName是要建立觸發器的表名稱,lExpression是觸發器表達式。例如,下面使用該命令為學生檔案表建立了與圖7-14同樣的觸發器表達式。

OPEN DATABASE dbMyData

CREATE TRIGGER ON 學生檔案表 FOR INSERT AS InsertData() &&建立插入觸發器

CREATE TRIGGER ON 學生檔案表 FOR UPDATE AS UpdateData() &&建立更新觸發器

CREATE TRIGGER ON 學生檔案表 FOR DELETE AS DeleteData() &&建立刪除觸發器

2.刪除觸發器
可以在表設計器的Table選項卡中刪除觸發器或使用DELETE TRIGGER命令從資料庫表中刪除觸發器。其中,DELETE TRIGGER命令的語法格式如下:

DELETE TRIGGER ON TableName FOR DELETE | INSERT | UPDATE

其中,TableName是要刪除觸發器的表名稱。

例如,下面的代碼將刪除學生檔案表中的插入觸發器。

DELETE TRIGGER ON 學生檔案表 FOR INSERT

3.修改觸發器
可以在表設計器的Table選項卡中或者使用CREATE TRIGGER命令來修改觸發器。使用命令修改觸發器與建立觸發器時相同。

熱點內容
怎麼不用錢搭建雲伺服器 發布:2025-07-25 11:59:22 瀏覽:449
怎麼看編譯符號表 發布:2025-07-25 11:48:33 瀏覽:679
中維客戶端密碼多少 發布:2025-07-25 11:33:34 瀏覽:10
u盤超級加密3000如何 發布:2025-07-25 11:22:58 瀏覽:688
worm演算法 發布:2025-07-25 11:21:14 瀏覽:491
pop郵件伺服器如何刪除用戶 發布:2025-07-25 11:02:49 瀏覽:155
資料庫保存html 發布:2025-07-25 11:02:41 瀏覽:707
php套表格 發布:2025-07-25 10:58:57 瀏覽:300
樹葉特效源碼 發布:2025-07-25 10:50:13 瀏覽:629
解壓陶瓷 發布:2025-07-25 10:47:23 瀏覽:670