82.Oracle数据库SQL开发之 修改表内存——RETURNING子句

84 阅读1分钟

82.Oracle数据库SQL开发之 修改表内存——RETURNING子句

欢迎转载,转载请标明出处:blog.csdn.net/notbaron/ar…\

在10g及更高版本中,可以使用RETURNING子句返回使用聚合函数计算的结果。

例如:

store@PDB1> variable average_product_price number

store@PDB1> update products

  2  setprice=price*0.75

  3  returning avg(price) into:average_product_price;

product_id = 1

Old price = 19.95

New price = 14.96

The price reduction is more than 25%

product_id = 3

Old price = 25.99

New price = 19.49

The price reduction is more than 25%

product_id = 4

Old price = 13.95

New price = 10.46

The price reduction is more than 25%

product_id = 5

Old price = 49.99

New price = 37.49

The price reduction is more than 25%

product_id = 6

Old price = 14.95

New price = 11.21

The price reduction is more than 25%

product_id = 8

Old price = 12.99

New price = 9.74

The price reduction is more than 25%

product_id = 9

Old price = 10.99

New price = 8.24

The price reduction is more than 25%

product_id = 10

Old price = 15.99

New price = 11.99

The price reduction is more than 25%

product_id = 11

Old price = 14.99

New price = 11.24

The price reduction is more than 25%

 

12 rows updated.

 

store@PDB1> print average_product_price;

 

AVERAGE_PRODUCT_PRICE

---------------------

            14.7966667

主要进行了如下操作:

l  声明一个变量average_product_price

l  减少products表中各行的price列,并使用RETURNING子句将平均价格保存在average_product_price变量中

l  输出average_product_price变量的值