儲存過程小知識1

2021-05-28 00:18:04 字數 755 閱讀 3967

眾所周知,使用exec來進行儲存過程,其實exec不但可以執行儲存過程,還可以執行sql語句。

例如:假設有一張表sc,我們查詢它的所有資訊,這裡使用儲存過程,為了說明以上問題。

create proc test1_proc

asdeclare @str varchar(

100)

begin

set@str='

select * from sc

'exec @strend

當我們用 exec test1_proc 執行這個儲存過程時,會發生錯誤提示「找不到儲存過程 'select * from sc'。」

這是為什麼呢?

因為系統把 @str所代表的字串

select * from sc

當成了乙個儲存過程的名字,而系統中我們並沒有新增這樣乙個儲存過程,我們僅僅希望能夠執行這段**,

所以這就說明了,是我們的寫法出現了問題,注意看,以下是正確的寫法

create proc test1_proc

asdeclare @str varchar(

100)

begin

set@str='

select * from sc

'exec(@str)end

僅僅是在@str上加了乙個括號,意義就變得不一樣了,寫語句的時候可一定要注意啊!

資料庫語句 儲存過程 小知識

一 最近遇到在分頁查詢裡將某些特定的資料靠前展示問題,解決辦法 使用 row number over函式 該函式是對你 select語句返回的資料進行編號處理,從1開始。在查詢時應用了乙個排序標準後,只有通過編號才能夠保證其順序是一致的,當使用row number函式時,也需要專門一列用於預先排序以...

儲存過程的知識

1 儲存過程在伺服器端執行,執行速度快。2 儲存過程執行一次後,其執行規劃就駐留在高速緩衝儲存器,在以後的操作中,只需從高速緩衝儲存器中呼叫已編譯好的二進位制 執行,提高了系統效能。3 確保資料庫的安全。使用儲存過程可以完成所有資料庫操作,並可通過程式設計方式控制上述操作對資料庫資訊訪問的許可權。一...

Mysql 儲存過程1

儲存過程的優勢 1,一般的sql命令在執行前需要解析 編譯前提準備過程,但是儲存 過程是事先完成了解析,編譯處理後儲存在資料庫的,執行時能減輕 資料庫負擔,提高執行效能。2,減輕網路負擔,之前的傳遞sql語句,變成現在的傳遞引數。3,防止對錶的直接訪問。4,可以減少大部分的程式 5,msyql5.0...