使用儲存過程是不是一定安全

時間 2023-05-21 02:30:03

1樓:胡說亂想居山村

有這種說法,沒聽過。這有什麼不安全,這跟安全不安全應該沒關係。

儲存過程要是對傳入的值不做一定處理的話也一樣不安全。

這個個人覺得要根據專案,有些小站點,這樣寫方便。

但是大型門戶,由於資料量大,用這種方式效率不夠還影響伺服器效能。

2樓:網友

儲存過程自動會過濾掉敏感字元。

你這樣寫用儲存過程是最好的,一來可以避免sql注入。

二來可以提高效能,因為儲存過程是資料庫級物件,在資料庫伺服器當中執行,可以減少sql語句在網路中的傳輸。

3樓:匿名使用者

如2樓所說,可以避免sql注入,也可以提高效能。

你的語句是這樣的。

select * from admin where name='"name+"'and pwd='"pwd+"'

這兩個引數值例如是從url獲得,或者輸入,如果我輸入兩個減號(--sql注釋),後面想怎麼寫怎麼寫,你資料庫豈不是掛掉了?

儲存過程在引數傳入的時候dbms的查詢處理程式會有機制處理這些問題,你就算輸入--也不會注掉後面的語句。

有時安全,不過有時顯得很麻煩。

者:cgboytzh - 試用期 一級 6-7 23:23那是因為你不會使用。

4樓:網友

有時安全,不過有時顯得很麻煩。

Oracle儲存過程where語句使用變數

在儲存過程 oracle資料庫 中如果用了select語句,要麼使用 select into 變數 語句,要麼使用游標,oracle不支援單獨的select語句。你給出的方法是正確的呀。oracle在寫儲存過程時怎樣將變數和字串進行連線 變數直接寫,要連線字串的話,用 這個符號,後面的字串用單引號引...

sql 儲存過程建立和使用方法,SQL 儲存過程建立和使用方法

1 首先先建立乙個儲存過程,如圖,儲存過程主要的功能是為表jingyan插入新的資料。2 執行這幾行 看到執行成功,資料庫裡現在已經有儲存過程sp jy。3 先看下jingyan表裡目前的陣列,如圖,只有三行資料。4 在mysql裡,呼叫儲存過程,只需要用call關鍵字,帶上儲存過程的名稱就行了,當...

sql儲存過程中如何使用declare有的儲存過程宣告了,有的沒有宣告。請回答的詳細點。。謝謝

如果你把儲存過程看作是批處理語句就好理解多了!儲存過程只不過是乙個帶著名稱的sql批處理語句,如果在整個過程中需要變數時就是可以宣告,但該變數宣告後只能存活在批處理 儲存過程 的執行中,執行完畢後就會消失,這種宣告的格式就是 declare 變數名 型別 其中變數名為了與資料庫中的列名相互區別,所以...

oracle中儲存過程與游標的結合使用問題

v cname in varchar 20 這個地方不需要制定長度 varchar就可以了 create or replace procedure showstudent v cname in varchar as s tmp number s total number cursor cur gra...

如何使用SQL變數獲取儲存過程的返回值

sql server中儲存過程的返回值不是通過return語句返回的 return語句是在使用者自定義函式中使用的 而是通過儲存過程的引數來返回,在定義儲存過程的引數時使用關鍵字output來指定此引數是返回值。而在呼叫儲存過程時,也必須使用關鍵字給接收返回值的變數,這樣才能在呼叫時獲得儲存過程的返...