Объявить проблему табличной переменной в SQL Server - PullRequest
0 голосов
/ 17 декабря 2018

Я хочу объявить табличную переменную, и я выполнил шаги в на этой странице , но я получил ошибку в строке SELECT @StdRevenue;.Кажется, мне нужно объявить переменную - что я и сделал.

Стол Purchasing.ProductVendor:

enter image description here

Мой код

DECLARE @StdRevenue TABLE
(
  ProductID int, 
  Revenue money
);

--insert values to columns
INSERT INTO @StdRevenue (ProductID, Revenue)
    SELECT ProductID, StandardPrice * OnOrderQty 
    FROM Purchasing.ProductVendor
    GROUP BY ProductID;

SELECT @StdRevenue;

Ответы [ 3 ]

0 голосов
/ 17 декабря 2018

Используйте

SELECT * FROM @StdRevenue;

вместо

SELECT @StdRevenue;

DECLARE @StdRevenue TABLE
(
  ProductID int, 
  Revenue money
);

--insert values to columns
INSERT INTO @StdRevenue (ProductID, Revenue)
    SELECT ProductID, StandardPrice * OnOrderQty 
    FROM Purchasing.ProductVendor
    GROUP BY ProductID;

SELECT * FROM @StdRevenue;
0 голосов
/ 17 декабря 2018

Попробуйте следующий код

DECLARE @StdRevenue TABLE
(
  ProductID int, 
  Revenue money
);

--insert values to columns
INSERT INTO @StdRevenue (ProductID, Revenue)
    SELECT 1, 2

SELECT * from @StdRevenue;

Здесь вы пропустили запись * from перед именем таблицы, например @StdRevenue

0 голосов
/ 17 декабря 2018

Надеюсь, что следующие запросы помогут вам ....

Create table #temp

(
id int,
price varchar(5),
qty int
)

insert into #temp values(1,'50',1)

insert into #temp values(2,'500',4)

insert into #temp values(3,'100',6)



--Select All queries together

DECLARE @StdRevenue TABLE
(
  ProductID int, 
  Revenue money
);

--insert values to columns

INSERT INTO @StdRevenue (ProductID, Revenue)
    SELECT id, price * qty 
    FROM #temp


SELECT * from @StdRevenue;

---- До здесь

...