1. 程式人生 > 其它 >with function 語法支援

with function 語法支援

通過with子句,我們可以把很多原本需要儲存過程來實現的複雜邏輯用一句SQL來進行表達。KingbaseES 從V008R006C004B0021 版本開始,支援 with function 語法。例子如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 with functionf_sum(i_relnamespace oid,i_relname text)returntext is v_name text; begin selecti_relnamespace::regnamespace||'.'||i_relname
intov_name ; returnv_name; end; selectf_sum(relnamespace,relname)frompg_class limit 10; f_sum ------------------------------- pg_toast.pg_toast_16384 pg_toast.pg_toast_16384_index public.t pg_catalog.pg_statistic pg_catalog.pg_type pg_toast.pg_toast_2600 pg_toast.pg_toast_2600_index pg_toast.pg_toast_2604
pg_toast.pg_toast_2604_index pg_toast.pg_toast_3456 (10rows)

with function 可以支援DML 操作:

1 2 3 4 5 6 7 8 with functionf_sum(i_idinteger,i_name text)returntext is begin insertintot1values(i_id,i_name); returni_name; end; selectf_sum(oid,relname)frompg_class limit 10;