當前位置:首頁 » 服務存儲 » 存儲過程列名做參數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲過程列名做參數

發布時間: 2022-08-18 01:28:29

A. 關於給sql存儲過程表名作為參數的問題

定義 一個變數
DECLARE @sql Varchar(max)
set @sql= 'SELECT * FROM' +@TableName+ 'where Row between' + @startRecordIndex +'and'+ @endRecordIndex
--最後再
exec @sql
純頁面手打,也不知道有沒有格式上錯誤,但意思已經表達的很清楚了
ALTER procere [dbo].[P_Pro_Women]
(@startRecordIndex int,
@endRecordIndex int,
@TableName varchar(50),
@BrandId int,
@sql Varchar(max))
as
begin
set @sql='SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY ProctId desc)AS Row, * from '+@TableName +' where brandid ='+@BrandId+') where Row between '+ @startRecordIndex+' and '+@endRecordIndex
exec @sql
end
也不知道你是不是這個意思

B. sql 存儲過程怎麼以查詢出來的一列值作為參數

如果能查詢出一列值出來,可以在存儲過程里查這一列的值。最多可能就是存儲過程加一些參數來處理這一列。
然後在存儲過程里根據這一列的值進行相應的處理。

C. mysql 存儲過程表名做參數

存儲子程序不能包含SQL預處理語句(PREPARE、EXECUTE、DEALLOCATE PREPARE)。隱含意義:不能在存儲子程序中使用動態SQL語句(其中,能夠以字元串形式構造動態語句,然後執行它們)。從MySQL 5.0.13開始,對於存儲程序放寬了該限制,但該限制仍適用於存儲函數和觸發程序。

D. 存儲過程 把表名作為參數

這個用動態語句:
create proc aa
@a varchar(10)
as
begin
declare @sql as varchar(100)
set @a='a'
set @sql='select * from '+@a
exec(@sql)
end

E. 存儲過程列名黨參數傳要怎麼寫

當然獲取不到了,@lieming是一個變數,而不是列名,帶入到表達式當中,翻譯過來類似於'1' = '2'這樣的語法,肯定會報錯的。
如果是動態的傳入列名,要先拼接一個更新的字元串,用execute immediate來執行
@sql = "update other_new set " + @lieming + " = '" + @value + "' where id = " + @id
以上的單引號雙引號也要根據列名的類型和id的類型來寫,上面語句中,列名是當做字元型處理的,而id是當做數字型處理的。
拼接好後用execute immediate @sql來執行

F. SQL SERVER存儲過程中能不能以欄位名作為參數,比如輸入一個參數'A,B,C',然後返回A,B,C這幾列的數據

參數名必須是以@開頭的,不可能用欄位名做為參數。 你要查看a,b,c這幾列的數據直接 select a,b,c from table 就是了 何必要用個存儲過程呢?

G. mysql 存儲過程 資料庫表名欄位作為參數傳遞給存儲過程的方法

直接將資料庫表名欄位作為字元類型傳到存儲過程中,存儲過程拼接sql語句,再用exec執行。例如:
CREATE PROCEDURE [proc_test]
(@tablename varchar(100))
WITH
EXECUTE AS CALLER
AS
declare @sql varchar(1000);
set @sql='select * from '+@tablename
exec(@sql)
GO

再直接執行 exec proc_test '學生表'

H. MySQL的存儲過程如何讓列名做變數

假如你的列名是id ,先定義一個變數 p_id 然後把id的值賦值給p_id
p_id :=id;

I. sql存儲過程 列名做參數,,怎麼寫法呢

sql存儲過程
列名做參數,,怎麼寫法呢
那就SQL語句需要變為動態的
declare
@str
varchar(100)
set
@str
=
'select
*
from
Table
where
'
+
@col
+
'='
+
@KeyWord
exec(@str)

J. mysql存儲過程把欄位作為傳入參數

要對bankType1傳參就在 begin 後面添加
declare @bankType1 varchar(225)
set @bankType1=(select bankType1 from 表名)