1樓:匿名使用者
是不能這樣寫的,用動態語句的話,function好像又不支援,改用儲存過程吧,如下
create procedure proc_setbatchid
@table as nvarchar(100),
@batchid varchar(11) output
asbegin
declare @sql nvarchar(4000)
set nocount on;
select @sql = n'if (select count(*) from ' + rtrim(ltrim(@table)) + ')<>0 and datediff(day,cast(left((select max(batchid) from ' + rtrim(ltrim(@table)) + '),8) as datetime),getdate())=0
begin
set @batchid=(select max(batchid) from ' + rtrim(ltrim(@table)) + ')
set @batchid=cast((cast(@batchid as bigint)+1) as char(11))
endelse
begin
set @batchid=convert(varchar(20),getdate(),112)+''001''
end'
exec sp_executesql @sql,n'@batchid varchar(11) out',@batchid out
endgo
查詢中執行
declare @rc int
declare @table nvarchar(100)
declare @batchid varchar(11)
set @table = 'testfn'
execute @rc = [test].[dbo].[proc_setbatchid]
@table
,@batchid output
select @batchid
go程式中呼叫儲存過程獲取output引數
不太明白想實現什麼。select table2 又傳table1進函式
2樓:匿名使用者
變數作為表名。
這種情況,要使用 動態 sql 來處理
也就是把整個 sql 語句,儲存為一個 varchar / nvarchar 的字串來處理。
下面是一些例子:
sql server 用變數定義表名,能夠查詢
3樓:匿名使用者
sql server 中查詢使用變數定義表名,需要配合exec()來實現。
如圖中例子,使用 @char_table 接收 表名變數
sql中:declare @ 定義變數,set 給變數賦值。exec()來執行動態sql語句
4樓:匿名使用者
set @sql='select * from'+@table
print @sql
exec @sql --執行sql
如何在Access中使用SQL語句
不想起名字了 建立一個查詢 切換到sql模式 輸入sql語句 儲存雙擊執行 這是儲存查詢 如果要在 中使用 方法就多了 access資料庫怎麼使用sql語句 千鋒教育 access本身可以建好一個完整的查詢的,可基於單表,可以基於多個表。建好後,點查詢設計中sql檢視,就是一個完整的sql語名了,而...
如何在ecel中使用rank函式排序
函小苼 首先,開啟需要修改的exce,然後選擇需要修改的資料,輸入rank公式即可排序。具體步驟如下 1 電腦開啟excel 2 電腦開啟excel 後,在排名中輸入公式 rank j11,j 11 j 14 j 11 j 14是所有成績單元格的絕對值,選中單元格後按f4就會變成絕對值。3 輸入公式...
怎麼在jQuery的css 中使用變數
系統 您好 jquery中css 方法可以這樣使用 id css display none 如果使用變數的話可以這樣var reg none id css display reg 這樣就可以用reg變數來操作了。 function 淡淡 流逝 用第一組 可以實現呀,樓主有沒有使其在頁面載入好了之後再...