目前我正在使用大量存储过程,例如:
with pl as (
insert into product_list(name, weight, type)
select . . .
returning *
)
insert into product_price(id, price)
select id, NULL
from pl;
我可以创建一个视图来执行此操作吗?哪个更好?感谢。
答案 0 :(得分:2)
是关于视图和存储过程的概念
<强>视图强>
1.不接受参数
2.可以在大型查询中用作构建块。
3.只能包含一个选择查询。
4.不能对任何表格进行修改。
5.可以(有时)用作插入,更新,删除查询的目标。
存储过程
1.接受参数
2.不能在大型查询中用作构建块。
3.可以包含if,else,loop等几个语句。
4.可以对一个或多个表执行修改。
5.不能用作插入,更新,删除查询的目标。
答案 1 :(得分:1)
视图可能更好,因为这里没有涉及真正的逻辑。
您可能会考虑使用存储过程添加更多逻辑...可能会执行一些无法在单个语句中执行的聚合和计算。