توضیحات
دستوری است که برای عوض کردن جای ستونها و سطرها به کار میرود.
دستور
دستور Insert در pl/sql به این شکل است:
SELECT * FROM ( SELECT column1, column2 FROM tables WHERE conditions ) PIVOT ( aggregate_function(column2) FOR column2 IN ( expr1, expr2, ... expr_n) | subquery ) ORDER BY expression [ ASC | DESC ];
مثال
• مثالی از دستور pivot که جدول orders را pivot میکند.
CREATE TABLE orders ( order_id integer NOT NULL, customer_ref varchar2(50) NOT NULL, order_date date, product_id integer, quantity integer, CONSTRAINT orders_pk PRIMARY KEY (order_id) );
با اجرای این دستور خروجی زیر نمایش داده میشود:
SELECT order_id, customer_ref, product_id FROM orders ORDER BY order_id;
و همچنین دستور pivot را اجرا میکنیم که خروجی زیر نمایش داده میشود:
SELECT * FROM ( SELECT customer_ref, product_id FROM orders ) PIVOT ( COUNT(product_id) FOR product_id IN (10, 20, 30) ) ORDER BY customer_ref;