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來指定此引數是返回值。而在呼叫儲存過程時,也必須使用關鍵字給接收返回值的變數,這樣才能在呼叫時獲得儲存過程的返...