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
也不知道你是不是這個意思
⑵ 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 '學生表'