帶引數的儲存過程實現任意條件的查詢

2021-04-21 01:44:33 字數 577 閱讀 9599

今天想實現乙個帶引數的儲存過程實現任意條件的查詢,開始這樣寫死活不行

set @str  = 'select * from maintable  where ' + @colname + @operate+ @value

後來發現,這個語句是沒有錯的, 實際上應該在傳入引數@value的時候寫成 ' value ' , 這樣就能組合成

where name = 『value』。

或者不想傳值的時候傳乙個帶單撇號『的字串的話也可以把語句這樣改寫。

set @str  = 'select * from maintable  where ' + @colname + @operate+ ''

''@value''''

要注意到,這裡需要4個單撇號,才能生成 where name = 『value』這種樣式。

第三種方法直接在 exec()方法裡面寫

exec('select * from maintable  where ' + @colname + @operate+ @value)

exec()這個方法裡面的@value不用加單撇號也可以執行where name = 『value』。

params引數使用實現任意長的引數

基本實現計算總數 static void main string args test 張三 n console.readkey public static void test string name,int score console.writeline 同學考試總成績為分 name,sum 不宣告...

oracle儲存過程 帶引數的儲存過程

帶引數的儲存過程 舉例 為指定的員工漲100元的工資,列印漲前和漲後的工資 如果帶參,需要指定是輸入引數還是輸出引數 create orreplace procedure raisesalary eno in number as 定義乙個變數儲存漲前的薪水,引用emp中sal的型別作為psal的型別...

處理帶引數的儲存過程

儲存過程 create procedure customer select country nvarchar 15 asselect customerid,companyname,contactname from customers where country country go.aspx cs ...