这是我的 SQL Select 语句,我想将其转换为在 PL/SQL 代码中调用的语句:
SELECT StockID
FROM StockPrice
WHERE StockType ='Technology' AND Price < 150
OR StockType ='Retail' AND Price < 150;
任何想法......
答案 0 :(得分:3)
假设查询返回单个值的一个简单选项是
DECLARE
l_stockid stockprice.stockid%TYPE;
BEGIN
SELECT stockid
INTO l_stockid
FROM stockprice
WHERE (stocktype = 'Technology' AND price < 150)
OR (stocktype = 'Retail' AND price < 150);
END;
/
不过,WHERE
可以重写为
WHERE price < 150
AND stocktype in ('Technology', 'Retail')
如果该 select
语句返回多于一行,您将得到 too_many_rows
,问题是您想如何处理它?抛出异常?选入收藏?有些不同?这取决于。