SET DEFINE "&"
VAR db_name VARCHAR2(30)
COLUMN db_name NEW_VALUE db_name
EXEC :db_name := 'Blah';
SELECT :db_name AS db_name FROM dual;
DEFINE db_name
SELECT
t2.datetime
, param2
, (SELECT param1
FROM
(SELECT
t1.param1
, row_number() OVER(ORDER BY t1.datetime DESC) rankparam1
FROM table1 t1
WHERE t2.datetime>=t1.datetime)
WHERE rankparam1 = 1)
as param1
FROM table2 t2
UPDATE
sales as s
SET s.plan_payment_date = (SELECT
MAX(pay.payment_date)
FROM
payments pay
, payments_parts pp
WHERE pay.ID = pp.FK_payment
and s.ID = pp.FK_sale
)