使用select语句声明变量 - PL SQL

时间:2015-11-11 21:51:33

标签: sql oracle variables

有没有办法用select语句声明变量?以下是一个例子。

  Declare
P_Price orders.p_price%type;
  Begin 
    P_Price := (select price from products where p_id = 1000); 

在表格中查找价格以声明价格

1 个答案:

答案 0 :(得分:0)

您在声明部分声明了一个变量(在匿名PL / SQL块中的declarebegin之间)。您好像在询问为该变量赋值。您可以使用select into

执行此操作
select price
  into p_price
  from products
 where p_id = 1000;

如果查询返回1行以外的任何内容,则会出现异常。如果查询返回0行,则no_data_found;如果查询返回的行数超过1行,则too_many_rows。{/ p>

如果你想要完整的匿名阻止(包括你已经没有改变的声明部分)

declare
  p_price products.price%type;
begin
  select price
    into p_price
    from products
   where p_id = 1000;
end;