1
返回一個用戶定義的表類型,我創建SQL Server中的用戶定義的表類型:如何從存儲過程
Create Type dbo.Car AS Table
(
CarNumber varchar(20) not null,
Model varchar(20) null
)
還有許多其他的領域有,這只是一個例子。
現在我有一個存儲過程,我需要它從這種類型返回汽車列表。這是問題:我找不到從存儲過程返回用戶定義表類型的方法。
如果我在過程中聲明它是一個參數,它必須是隻讀的,所以我不能給它賦值。如果我從這種類型聲明var並嘗試從它不允許的過程中返回它。
這裏是我的嘗試:
Create procedure getCarDetails
@carNumber varchar(20)
AS
BEGIN
SET NOCOUNT ON;
Declare @CarDetails AS dbo.Car
insert into @CarDetails (CarNumber,Model)
select CarNumber, Model
from cars
where cars.CarNumber = @carNumber
-- here I need to return the @CarDetails
-- if I try
-- return @CarDetails
-- It says 'must declare the scalar variable "@CarDetails"'
是什麼做的正確方法嗎?
你既可以只是選擇,沒有插入到這個'@ CarDetails'表或讓你的插入,然後做到這一點:'從@ CarDetails中選擇*。 –