2010-07-06 87 views
0

雖然做從函數獲取數據中插入

create table #tmpsr(
srid int, 
W_DiffOriginal decimal(12,2) 
) 
insert into #tmpsr 
     (srid,W_DiffOriginal) 
     select sr_id, --- From Table 
     W_DiffOriginal=DiffOriginal --- From Function 
     From TBL_SR,dbo.fnc_VoucherDetails_Get(sr_id) ---Table-Valued Function 
     Where SRdoid = 12811 --- Column in the table TBL_SR 
     and fsrid=sr_id ---fsrid: Columns in the Table-Valued Function, 

我得到的消息:

消息207,級別16,狀態1,9號線 無效的列名稱sr_id「。

任何想法?

+0

能否請您正確地重新格式化的問題? – Baaju 2010-07-06 07:45:47

回答

1

我認爲錯誤來了,因爲你是在這種情況下調用形式的條款

select .... From TBL_SR,dbo.fnc_VoucherDetails_Get(sr_id)功能其沒能得到的是sr_id

所以在你的SELECT語句解決這個通話功能這樣

create table #tmpsr( 
srid int, 
W_DiffOriginal decimal(12,2) 
) 
insert into #tmpsr 
     (srid,W_DiffOriginal) 
     select sr_id, --- From Table 
     (select W_DiffOriginal from dbo.fnc_VoucherDetails_Get(sr_id))=DiffOriginal ---From Function 
     From TBL_SR, ---Table-Valued Function 
     Where SRdoid = 12811 --- Column in the table TBL_SR 

這可以解決您的問題

+0

fsrid是函數的一列,在這種情況下,你的查詢如何工作? – hgulyan 2010-07-06 07:55:33

+0

沒有讓你 – 2010-07-06 07:58:18

+0

在where子句有fsrid列,這不是TBL_SR表的列。 (--- fsrid:表值函數中的列),這就是爲什麼你的查詢不起作用。我想@Miron正試圖從他的功能動態獲取表格。 – hgulyan 2010-07-06 08:00:56