2015-01-01 96 views
0
create proc ForCustomTable 
(
    @FullName MyCustomTable READONLY 
) 
as 
    set nocount on 

    insert into @FullName 
     select Fname, Lname 
     from addr 

得到錯誤的存儲過程........如何創建自定義的表型

如何解決這個問題?

+0

返回地址*** ***什麼錯誤?!?!?我們無法閱讀你的屏幕,也沒有你的想法 - 你必須**告訴我們!** –

+0

錯誤_應該是顯而易見的:你將'@ FullName'聲明爲'READONLY',但正在嘗試寫入它。怎麼修?瞭解桌面參數(TVP)是什麼以及它們的用途。那麼如果你仍然需要幫助,你需要在問題中包括你想要完成的事情。 –

回答

1

您不能使用table valued parameter從一個存儲過程(由關鍵字READONLY建議返回數據。你會得到錯誤

的表值參數「@FullName」是隻讀的,不能修改。

有很多替代

  • 返回結果的數據集(即只返回SELECT數據結果)
  • 將數據插入到#temp表中 - 在連接期間#temp表將可用。
  • 而不是使用一個存儲過程中,將其更改爲表值函數,並從中
+0

你爲什麼認爲O.P.試圖通過TVP返回數據?這個人有可能試圖像使用OUTPUT參數一樣使用它,但是發佈的代碼有太多錯誤,無法推斷意圖。事實上,如果你對這個人的意圖是正確的,那麼O.P.對SQL Server存儲過程有一個基本的誤解,他們將無法理解你的答案;-) –

相關問題