【发布时间】:2014-10-05 03:01:03
【问题描述】:
我正在开发一个数据库,其中包含商店的客户、产品、时间表等。我正在处理的问题涉及创建一个程序,将“开/关”列更改为关闭(默认情况下产品可用(1),此程序将其变为 0)我已经编写了该程序:
create proc p_fudgemart_deactivate_product
(
@product_id int
)
as
begin
update fudgemart_products
set product_is_active = 0
where product_id = @product_id
end
但是当我们得到一个产品名称时,问题就出现了,并且需要编写一个选择语句来将该产品更改为不可用。我知道这需要使用变量,但我不知道如何将变量设置为该产品的产品 ID。我的想法是这样的:
Declare @prod_name_id int
set @prod_name_id= (select product_id from fudgemart_products
where product_name = 'Slot Screwdriver')
execute p_fudgemart_deactivate_product product_id @prod_name_id
我可以像这样在我的变量声明中使用选择吗?
【问题讨论】:
-
product_name是唯一的吗?如题,名称为“一字螺丝刀”的唱片会不会不止一张?
标签: sql-server tsql variables stored-procedures