1. 程式人生 > >資料庫表名作為引數傳遞給儲存過程的方法

資料庫表名作為引數傳遞給儲存過程的方法

通常的儲存過程雖然也可以帶引數,但是如果你的儲存過程的引數是表名、欄位名、資料庫名之類的時候,通常的方法就行不通了!

下面是用表名做引數的儲存過程建立:

?
1 2 3 4 5 6 7 CREATE   PROCEDURE   SpecialInsertProcedure    @TableName   varchar(50),   @userId   varchar(10),    @pwd   varchar(10),    @userRole int AS    exec('insert into '[email protected] +'(userId,pwd,userRole)   values   ('
''[email protected]+''','''[email protected]+''','[email protected]+')')
?
1 其中的TableName是表名,userId,pwd,userRole是表中的欄位。對應的@TableName是傳遞到儲存過程的表名變數,
?
1 @userId,@pwd,@userRole是需要插入表中的資料;
?
1 需要注意的是單引號的使用方法,這裡用兩個<SPAN style="TEXT-DECORATION: underline">  
''   </SPAN>代替字串裡面的一個 <SPAN style="TEXT-DECORATION: underline"> ' </SPAN>  其實就是有一個<SPAN style="TEXT-DECORATION: underline"> '  </SPAN> 當作了專業字元。
?
1 對應的該儲存過程的執行為:
?
1 exec SpecialInsertProcedure  UserInfo,sss,sss,1

相關推薦

資料庫名作引數傳遞儲存過程方法

通常的儲存過程雖然也可以帶引數,但是如果你的儲存過程的引數是表名、欄位名、資料庫名之類的時候,通常的方法就行不通了! 下面是用表名做引數的儲存過程建立: ? 1 2 3 4 5 6 7 CREATE   PROCEDURE   SpecialInsertProcedure    @Table

mysql名作引數傳入儲存過程

有以下儲存過程: CREATE DEFINER=`root`@`localhost` PROCEDURE `P_HoverTreePages`( IN `TableName` VARCHAR(200), IN `FieldList` VARCHAR(2000) , IN `Pr

SoapUI+Groovy獲取返回值並作引數傳遞另一個用例-基於Post請求

1:Response返回相關資料 2:Groovy Script獲取想要的資料,並把該資料返回:Return xxx 3:在Post請求的case中獲取Groovy Script中返回的值: 格式"${GroovyScript#result}":Groovy Script為

C# 委託的應用1:將方法作為引數傳遞另一個方法

     長期以來,c和c++的程式設計師利用方法指標,將方法作為引數傳給另一個方法。c#使用委託來提供相同的功能,它將方法作為物件封裝起來,允許在執行時間接地繫結一個方法呼叫。      下面將通過氣泡排序的例子講解委託的產生     示例1 :該方法對一個整數陣列執行升

python的pymysql中以名作變量傳遞進查詢語句中

是我 也有 tab 變量傳遞 sql %s 找到 自己的 思維 在我們學習使用pymysql的時候有時需要把表名當做變量傳遞到sql語句中去執行,然而我們的固定思維模式有時卻限制了我們:如:我們知道傳遞變量可以用占位符%s,後面加上變量就行,在pymysql中也有同樣的問題

React Native之函式作為引數傳遞另外一個函式去呼叫

1 用法 我們一般喜歡把js裡面的函式作為引數傳遞給另外一個函式,然後再呼叫這個函式,有點像C語言裡面的函式指標         2 程式碼測試 寫了一個函式,2個引數分別是函式,然後更具資料決定呼叫哪個函式 /** *

將物件作為引數傳遞方法

要求: (1)定義一個Circle類,包含一個double型的radius屬性代表圓的半徑,一個findArea()方法返回圓的面積。 (2)定義一個類PassObject,在類中定義一個方法printAreas(),該方法的定義如下: public void printAreas(Cirl

Matlab中如何將(自定義)函式作為引數傳遞另一個函式

原文連結:http://blog.sina.com.cn/s/blog_53f2911901000a1h.html 假如我們編寫了一個積分通用程式,想使它更具有通用性,那麼可以把被積函式也作為一個引數。在c/c++中,可以使用函式指標來實現上邊的功能,在matlab中如何實現呢?使用函式控

js 以函式名作引數動態執行 函式

function myFunc() { console.log(11111); } test("myFunc"); function test(func

將js方法名作引數傳js方法

1,demo1:引數function無參 <script> function fun1(){ fun3('fun4'); } function fun2(){ fun3('fun5'); } function fun3(fun){ eval(fun+'()')

關於將陣列作為引數傳遞函式的簡單使用

簡單的方式可以將陣列作為一個全域性變數,然後就可以在函式中使用了. 另外的一種方式為: function1(int a[]) { cout<<a[0]<<end

資料庫日期格式datetime時,儲存日期的方法

作為一名新手,每次做專案,遇到儲存日期的時候,總要上網搜一下解決方法。故記錄一下,方便以後查閱。 當資料庫日期格式為datetime時,試過兩種可行方案: 方案一: bean型別為Timestamp,使用如下程式碼獲得日期。 Timestamp timestamp = n

mysql資料庫上使用定時器定時執行儲存過程(月

最近有個需求,在mysql資料庫中每個月建自動一個表,把該月的資料儲存到該月對應的表中。 一、建立儲存過程 期望表名: login_history_2017_07(login_history_YYYY_MM) 欄位: id (int(11) pri

C++函式名作引數的技巧

c++呼叫函式,一般我們都是直接編寫一個函式然後在主函式懂呼叫,如下: #include<iostream> using namespace std; int add(int a,i

C語言中用陣列名作引數能改變實引數組的值的理解

很多初學者不理解為什麼C語言中用陣列名作為引數能改變實引數組的值,現在來談談我的理解: 把實引數組傳遞給函式,則形參從陣列哪裡得到了其實地址,因此陣列與實引數組共佔了同一段記憶體單元,在函式呼叫期間,該變了形引數組的值,也就改變了實引數組的值。 現在問題來了,怎麼理解

關於二維陣列作為引數傳遞函式的問題

剛碰到要寫一個函式func,要傳入一個二維陣列給該函式,於是寫成func(int a[][]);但馬上又發現將二維陣列傳給函式時必須指定第二維的維數,因為函式傳遞的是一個指向一個一維陣列的指標,這個一維陣列中儲存有著若干元素的陣列,所以函式必須要知道這個指標所指向物件的資訊

MyBatis呼叫帶有返回結果之output引數型別的儲存過程

儲存過程示例: ALTER PROCEDURE [WebApi_Login_SendPhoneCode ] ( @Action int, --1:查詢 2:新增一條記錄 @PhoneNo varchar(20), @Smscode varchar(10), @SendType

資料庫系統概論05-動態SQL&儲存過程&函式

動態SQL 使用SQL語句主變數 EXEC SQL BEGIN DECLARE SECTION; const char *stmt="CREATE TABLE test(a int);"/*SQL語句主變數,內容是建立表的SQL語句*/ EXEC SQL END DECLARE SE

ABAP內匯出EXCEL格式的幾種方法(轉)

目錄 正文  這是一篇轉載文章,本人修改了其中的幾個錯字病句 內表資料下載到EXCEL的幾種方法 1. 函式: GUI_DOWNLOAD   這是一種最基本的方法,對應 CLASS: CL_GUI_FRONTEND_SERVICES 的方法 GUI_DOWN

GRANT 儲存過程賦許可權

    周所周知,grant是給別的使用者賦許可權。他不只能夠給表,檢視賦許可權,而且對儲存過程,方法,以及包都可以,具體語法參考如下:     1.grant給表賦許可權:     grant  select/update on  table to user;