เชธเชฎเชฏ เชธเชฎเชฏ เชชเชฐ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเชจเซ เชเชฐเซเชฐ เชเซ เชตเชฟเชจเชเชคเชฟ เชฎเชพเชเซ เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชธเชฎเซเชน เช
เชฅเชตเชพ เชธเชเชชเซเชฐเซเชฃ เชชเชธเชเชฆเชเซ เชชเชฃ เชชเชธเชพเชฐ เชเชฐเซ "เชชเซเชฐเชตเซเชถ เชฆเซเชตเชพเชฐ เชชเชฐ". เชเซเชเชฒเซเชเชตเชพเชฐ เชคเชฎเซ เช เชธเชฎเชธเซเชฏเชพ เชฎเชพเชเซ เชเซเชฌ เช เชตเชฟเชเชฟเชคเซเชฐ เชเชเซเชฒเซ เชเชตเซ เชเซ.
เชเชพเชฒเซ เชชเชพเชเชณ เชเชเช เช
เชจเซ เชเซเชเช เชเซ เชถเซเช เชจ เชเชฐเชตเซเช เชเซเชเช, เชถเชพ เชฎเชพเชเซ เช
เชจเซ เชเซเชตเซ เชฐเซเชคเซ เชเชชเชฃเซ เชคเซเชจเซ เชตเชงเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชเชฐเซ เชถเชเซเช.
เชตเชฟเชจเชเชคเซเชจเชพ เชฎเซเชเซเชฏ เชญเชพเชเชฎเชพเช เชฎเซเชฒเซเชฏเซเชจเซเช เชธเซเชงเซเช เชจเชฟเชตเซเชถ
เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชเชเช เชเชจเชพ เชเซเชตเซเช เชฒเชพเชเซ เชเซ:
query = "SELECT * FROM tbl WHERE id = " + value
...เช เชฅเชตเชพ เชเชจเชพ เชเซเชตเซเช:
query = "SELECT * FROM tbl WHERE id = :param".format(param=value)
เช เชชเชฆเซเชงเชคเชฟ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชฒเซเชเชฟเชค เช
เชจเซ
เชฒเชเชญเช เชนเชเชฎเซเชถเชพ เช เชเซ เชเชธเชเซเชฏเซเชเชฒ เชเชจเซเชเซเชเซเชถเชจเชจเซ เชธเซเชงเซ เชฎเชพเชฐเซเช เช
เชจเซ เชฌเชฟเชเชจเซเชธ เชฒเซเชเชฟเช เชชเชฐ เชฌเชฟเชจเชเชฐเซเชฐเซ เชญเชพเชฐ, เชเซ เชคเชฎเชพเชฐเซ เชเซเชตเซเชฐเซ เชฒเชพเชเชจเชจเซ "เชเซเชเชฆเชฐ" เชเชฐเชตเชพ เชฎเชพเชเซ เชซเชฐเช เชชเชพเชกเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ เช เช เช เชญเชฟเชเชฎเชจเซ เชเชเชถเชฟเช เชฐเซเชคเซ เชจเซเชฏเชพเชฏเซ เช เซเชฐเชตเซ เชถเชเชพเชฏ เชชเชพเชฐเซเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเชงเซ เชเชพเชฐเซเชฏเชเซเชทเชฎ เชชเซเชฒเชพเชจ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ PostgreSQL เชตเชฐเซเชเชจ 10 เช เชจเซ เชจเซเชเซ. เช เชธเชเชธเซเชเชฐเชฃเซเชฎเชพเช, เชซเชเซเชค เชตเชฟเชจเชเชคเซเชจเชพ เชฎเซเชเซเชฏ เชญเชพเชเชจเชพ เชเชงเชพเชฐเซ, เชชเซเชฐเชธเชพเชฐเชฟเชค เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชงเชพ เชตเชฟเชจเชพ เชธเซเชเซเชจ เชเชฐเซเชฒ เชตเชฟเชญเชพเชเซเชจเซ เชธเซเชเชฟ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
$n-เชฆเชฒเซเชฒเซ
เชเชชเชฏเซเช เชเชฐเซ
เชฆเชฒเซเชฒเซเชจเซ เชเชฒ เชธเชเชเซเชฏเชพ
เชเซเชฏเชพเชฐเซ เช เชฎเซ เช เชเซเชเชพเชค เชธเชเชเซเชฏเชพเชฎเชพเช เชฆเชฒเซเชฒเซ เชชเชธเชพเชฐ เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช เชคเซเชฏเชพเชฐเซ เชธเชฎเชธเซเชฏเชพเช เช เชฎเชพเชฐเซ เชฐเชพเชน เชเซเชถเซ:
... id IN ($1, $2, $3, ...) -- $1 : 2, $2 : 3, $3 : 5, ...
เชเซ เช เชฎเซ เชตเชฟเชจเชเชคเซเชจเซ เช เชซเซเชฐเซเชฎเชฎเชพเช เชเซเชกเซ เชฆเชเช เชเซเช, เชเซ เชเซ เชคเซ เช เชฎเชจเซ เชธเชเชญเชตเชฟเชค เชเชจเซเชเซเชเซเชถเชจเชฅเซ เชฌเชเชพเชตเชถเซ, เชคเซ เชชเชฃ เชคเซ เชตเชฟเชจเชเชคเซเชจเซ เชฎเชฐเซเช/เชชเชพเชฐเซเชธ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชค เชคเชฐเชซ เชฆเซเชฐเซ เชเชถเซ. เชฆเชฒเซเชฒเซเชจเซ เชธเชเชเซเชฏเชพเชจเชพ เชเชงเชพเชฐเซ เชฆเชฐเซเช เชตเชฟเชเชฒเซเชช เชฎเชพเชเซ. เชคเซ เชฆเชฐ เชตเชเชคเซ เชเชฐเชตเชพ เชเชฐเชคเชพเช เชตเชงเซ เชธเชพเชฐเซเช เชเซ, เชชเชฐเชเชคเซ เชคเชฎเซ เชคเซเชจเชพ เชตเชฟเชจเชพ เชเชฐเซ เชถเชเซ เชเซ.
เชคเซ เชฎเชพเชคเซเชฐ เชเช เชชเชฐเชฟเชฎเชพเชฃ เชธเชฎเชพเชตเชคเซ เชชเชธเชพเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซ เชเซ เชถเซเชฐเซเชฃเซเชฌเชฆเซเชง เชเชฐเซ เชฐเชเซเชเชค:
... id = ANY($1::integer[]) -- $1 : '{2,3,5,8,13}'
เชฎเชพเชคเซเชฐ เชเชเชฒเซ เช เชคเชซเชพเชตเชค เชเซ เชเซ เชฆเชฒเซเชฒเชจเซ เชเชเซเชเชฟเชค เชเชฐเซ เชชเซเชฐเชเชพเชฐเชฎเชพเช เชธเซเชชเชทเซเชเชชเชฃเซ เชเชจเซเชตเชฐเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชชเชฐเชเชคเซ เชเชจเชพเชฅเซ เชธเชฎเชธเซเชฏเชพเช เชเชญเซ เชฅเชคเซ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เชเชชเชฃเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเชพเชฃเซเช เชเซเช เชเซ เชเชชเชฃเซ เชเซเชฏเชพเช เชเช เชฐเชนเซเชฏเชพ เชเซเช.
เชจเชฎเซเชจเชพเชจเซเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฃ (เชฎเซเชเซเชฐเชฟเชเซเชธ)
เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ "เชเช เชตเชฟเชจเชเชคเซเชฎเชพเช" เชกเซเชเชพเชฌเซเชเชฎเชพเช เชฆเชพเชเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชกเซเชเชพ เชธเซเชเชจเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เช เชคเชฎเชพเชฎ เชชเซเชฐเชเชพเชฐเชจเชพ เชตเชฟเชเชฒเซเชชเซ เชเซ:
INSERT INTO tbl(k, v) VALUES($1,$2),($3,$4),...
เชตเชฟเชจเชเชคเซเชจเซ "เชซเชฐเซเชฅเซ เชเซเชฒเซเชเชเช" เชธเชพเชฅเซ เชเชชเชฐ เชตเชฐเซเชฃเชตเซเชฒ เชธเชฎเชธเซเชฏเชพเช เชเชชเชฐเชพเชเชค, เช เช เชฎเชจเซ เชชเชฃ เชฆเซเชฐเซ เชถเชเซ เชเซ เชฎเซเชฎเชฐเซ เชฌเชนเชพเชฐ เช เชจเซ เชธเชฐเซเชตเชฐ เชเซเชฐเซเชถ. เชเชพเชฐเชฃ เชธเชฐเชณ เชเซ - PG เชฆเชฒเซเชฒเซ เชฎเชพเชเซ เชตเชงเชพเชฐเชพเชจเซ เชฎเซเชฎเชฐเซ เช เชจเชพเชฎเชค เชฐเชพเชเซ เชเซ, เช เชจเซ เชธเชฎเซเชนเชฎเชพเช เชฐเซเชเซเชฐเซเชกเซเชธเชจเซ เชธเชเชเซเชฏเชพ เชซเชเซเชค เชตเซเชฏเชตเชธเชพเชฏเชฟเช เชคเชฐเซเชเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เชฆเซเชตเชพเชฐเชพ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเซ. เชเชพเชธ เชเชฐเซเชจเซ เชเซเชฒเชฟเชจเชฟเชเชฒ เชเซเชธเชฎเชพเช เชฎเชพเชฐเซ เชเซเชตเชพเชจเซเช เชนเชคเซเช "เชธเชเชเซเชฏเชพ" เชฆเชฒเซเชฒเซ $9000 เชเชฐเชคเชพเช เชตเชงเซ เชเซ - เช เชฐเซเชคเซ เชจ เชเชฐเซ.
เชเชพเชฒเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเชฟเชจเชเชคเซเชจเซ เชซเชฐเซเชฅเซ เชฒเชเซเช "เชฌเซ-เชธเซเชคเชฐ" เชธเซเชฐเซเชฏเชฒเชพเชเชเซเชถเชจ:
INSERT INTO tbl
SELECT
unnest[1]::text k
, unnest[2]::integer v
FROM (
SELECT
unnest($1::text[])::text[] -- $1 : '{"{a,1}","{b,2}","{c,3}","{d,4}"}'
) T;
เชนเชพ, เชเชฐเซเชจเซ เช
เชเชฆเชฐเชจเชพ "เชเชเชฟเชฒ" เชฎเซเชฒเซเชฏเซเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเซเช เช
เชตเชคเชฐเชฃเชฅเซ เชเซเชฐเชพเชฏเซเชฒเชพ เชนเซเชตเชพ เชเซเชเช.
เชคเซ เชธเซเชชเชทเซเช เชเซ เชเซ เช เชฐเซเชคเซ เชคเชฎเซ เชเซเชทเซเชคเซเชฐเซเชจเซ เชฎเชจเชธเซเชตเซ เชธเชเชเซเชฏเชพ เชธเชพเชฅเซ เชชเชธเชเชฆเชเซเชจเซ "เชตเชฟเชธเซเชคเซเชค" เชเชฐเซ เชถเชเซ เชเซ.
เช เชจเชจเซเชธเซเช, เช เชจเชจเซเชธเซเช,โฆ
เชธเชฎเชฏเชพเชเชคเชฐเซ เชคเซเชฏเชพเช "เชเชฐเซ เชเชซ เชเชฐเซ" เชจเซ เชฌเชฆเชฒเซ เชเซเชเชฒเชพเช "เชเซเชฒเชฎเชจเชพ เชเชฐเซ" เชจเซ เชฌเชฆเชฒเซ เชชเชธเชพเชฐ เชเชฐเชตเชพเชจเชพ เชตเชฟเชเชฒเซเชชเซ เชเซ เชเซเชจเซ เชฎเซเช เชเชฒเซเชฒเซเช เชเชฐเซเชฏเซ เชเซ
SELECT
unnest($1::text[]) k
, unnest($2::integer[]) v;
เช เชชเชฆเซเชงเชคเชฟ เชธเชพเชฅเซ, เชเซ เชคเชฎเซ เชตเชฟเชตเชฟเชง เชเซเชฒเชฎ เชฎเชพเชเซ เชฎเซเชฒเซเชฏเซเชจเซ เชธเซเชเชฟ เชฌเชจเชพเชตเชคเซ เชตเชเชคเซ เชญเซเชฒ เชเชฐเซ เชเซ, เชคเซ เชคเซ เชฎเซเชณเชตเชตเซเช เชเซเชฌ เช เชธเชฐเชณ เชเซ เช เชฃเชงเชพเชฐเซเชฏเชพ เชชเชฐเชฟเชฃเชพเชฎเซ, เชเซ เชธเชฐเซเชตเชฐ เชธเชเชธเซเชเชฐเชฃ เชชเชฐ เชชเชฃ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ:
-- $1 : '{a,b,c}', $2 : '{1,2}'
-- PostgreSQL 9.4
k | v
-----
a | 1
b | 2
c | 1
a | 2
b | 1
c | 2
-- PostgreSQL 11
k | v
-----
a | 1
b | 2
c |
JSON
เชเชตเซเชคเซเชคเชฟ 9.3 เชฅเซ, PostgreSQL เชชเชพเชธเซ json เชชเซเชฐเชเชพเชฐ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชเชชเซเชฐเซเชฃ เชธเซเชตเชฟเชงเชพเชฏเซเชเซเชค เชเชพเชฐเซเชฏเซ เชเซ. เชคเซเชฅเซ, เชเซ เชเชจเชชเซเช เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชตเซเชฏเชพเชเซเชฏเชพ เชคเชฎเชพเชฐเชพ เชฌเซเชฐเชพเชเชเชฐเชฎเชพเช เชฅเชพเชฏ เชเซ, เชคเซ เชคเชฎเซ เชคเซเชจเซ เชคเซเชฏเชพเช เช เชฌเชจเชพเชตเซ เชถเชเซ เชเซ SQL เชเซเชตเซเชฐเซ เชฎเชพเชเซ json เชเชฌเซเชเซเชเซเช:
SELECT
key k
, value v
FROM
json_each($1::json); -- '{"a":1,"b":2,"c":3,"d":4}'
เช เชเชพเชเชจเชพ เชธเชเชธเซเชเชฐเชฃเซ เชฎเชพเชเซ, เชธเชฎเชพเชจ เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ เชฆเชฐเซเช(hstore), เชชเชฐเชเชคเซ hstore เชฎเชพเช เชเชเชฟเชฒ เชตเชธเซเชคเซเช เชฌเชนเชพเชฐ เชจเซเชเชณเชตเชพ เชธเชพเชฅเซ เชฏเซเชเซเชฏ "เชเชจเซเชตเซเชฒเซเชฏเซเชถเชจ" เชธเชฎเชธเซเชฏเชพเชเชจเซเช เชเชพเชฐเชฃ เชฌเชจเซ เชถเชเซ เชเซ.
json_populate_recordset
เชเซ เชคเชฎเซ เช เชเชพเชเชฅเซ เชเชพเชฃเซ เชเซ เชเซ "เชเชจเชชเซเช" json เชเชฐเซเชฎเชพเชเชฅเซ เชกเซเชเชพเชจเซ เชเชชเชฏเซเช เช เชฎเซเช เชเซเชทเซเชเช เชญเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ, เชคเซ เชคเชฎเซ json_populate_recordset เชซเชเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ "dereferencing" เชซเซเชฒเซเชกเชฎเชพเช เชเชฃเซเช เชฌเชเชพเชตเซ เชถเชเซ เชเซ เช เชจเซ เชคเซเชจเซ เชเชฐเซเชฐเซ เชชเซเชฐเชเชพเชฐเซเชฎเชพเช เชเชพเชธเซเช เชเชฐเซ เชถเชเซ เชเซ:
SELECT
*
FROM
json_populate_recordset(
NULL::pg_class
, $1::json -- $1 : '[{"relname":"pg_class","oid":1262},{"relname":"pg_namespace","oid":2615}]'
);
json_to_recordset
เช เชจเซ เช เชซเชเชเซเชถเชจ เชเซเชฌเชฒ เชซเซเชฐเซเชฎเซเช เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซเชฏเชพ เชตเชฟเชจเชพ, เชชเชธเชเชฆเชเซเชฎเชพเช เชเชฌเซเชเซเชเซเชเชจเชพ เชชเชพเชธ เชเชฐเซเชฒ เชเชฐเซเชจเซ เชซเชเซเชค "เชตเชฟเชธเซเชคเซเชค" เชเชฐเชถเซ:
SELECT
*
FROM
json_to_recordset($1::json) T(k text, v integer);
-- $1 : '[{"k":"a","v":1},{"k":"b","v":2}]'
k | v
-----
a | 1
b | 2
เชเซเชฎเซเชชเชฐเชฐเซ เชเซเชฌเชฒ
เชชเชฐเชเชคเซ เชเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชจเชฎเซเชจเชพเชฎเชพเช เชกเซเชเชพเชจเซ เชฎเชพเชคเซเชฐเชพ เชเซเชฌ เชฎเซเชเซ เชนเซเชฏ, เชคเซ เชชเชเซ เชคเซเชจเซ เชเช เชธเซเชฐเซเชฏเชฒเชพเชเชเซเชก เชชเซเชฐเชพเชฎเซเชเชฐเชฎเชพเช เชซเซเชเชเชตเซเช เชฎเซเชถเซเชเซเชฒ เช เชจเซ เชเซเชฏเชพเชฐเซเช เช เชถเชเซเชฏ เชเซ, เชเชพเชฐเชฃ เชเซ เชคเซเชจเซ เชเช เชธเชฎเชฏเชจเซ เชเชฐเซเชฐ เชเซ. เชฎเซเชเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชฎเซเชฎเชฐเซ เชซเชพเชณเชตเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเชฎเชพเชฐเซ เชฒเชพเชเชฌเชพ, เชฒเชพเชเชฌเชพ เชธเชฎเชฏ เชฎเชพเชเซ เชฌเชพเชนเซเชฏ เชธเชฟเชธเซเชเชฎเชฎเชพเชเชฅเซ เชเชตเซเชจเซเชเซเชธ เชชเชฐเชจเชพ เชกเซเชเชพเชจเชพ เชฎเซเชเชพ เชชเซเชเซเชเชจเซ เชเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เช เชจเซ เชชเชเซ เชคเชฎเซ เชกเซเชเชพเชฌเซเช เชฌเชพเชเซ เชชเชฐ เชเช-เชตเชพเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ.
เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชถเซเชฐเซเชทเซเช เชเชเซเชฒ เชตเชพเชชเชฐเชตเชพ เชฎเชพเชเซ เชนเชถเซ
CREATE TEMPORARY TABLE tbl(k text, v integer);
...
INSERT INTO tbl(k, v) VALUES($1, $2); -- ะฟะพะฒัะพัะธัั ะผะฝะพะณะพ-ะผะฝะพะณะพ ัะฐะท
...
-- ััั ะดะตะปะฐะตะผ ััะพ-ัะพ ะฟะพะปะตะทะฝะพะต ัะพ ะฒัะตะน ััะพะน ัะฐะฑะปะธัะตะน ัะตะปะธะบะพะผ
เชชเชฆเซเชงเชคเชฟ เชธเชพเชฐเซ เชเซ เชฎเซเชเชพ เชเชฅเซเชฅเชพเชจเชพ เชชเซเชฐเชธเชเชเซเชชเชพเชค เชเซเชฐเชพเชจเซเชธเชซเชฐ เชฎเชพเชเซ เชกเซเชเชพ
เชคเซเชจเชพ เชกเซเชเชพเชจเซ เชฐเชเชจเชพเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชจเชพ เชฆเซเชทเซเชเชฟเชเซเชฃเชฅเซ, เช
เชธเซเชฅเชพเชฏเซ เชเซเชทเซเชเช เชซเชเซเชค เชเช เช เชฐเซเชคเซ "เชจเชฟเชฏเชฎเชฟเชค" เชเชฐเชคเชพ เช
เชฒเช เชชเชกเซ เชเซ. pg_class เชธเชฟเชธเซเชเชฎ เชเซเชทเซเชเชเชฎเชพเช, เช
เชจเซ เชฎเชพเช pg_type, pg_depend, pg_attribute, pg_attrdef, โฆ - เชเชตเซเช เชเช เชจเชฅเซ.
เชคเซเชฅเซ, เชคเซเชฎเชพเชเชจเชพ เชฆเชฐเซเช เชฎเชพเชเซ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เช
เชฒเซเชชเชเซเชตเซ เชเชจเซเชเซเชถเชจ เชงเชฐเชพเชตเชคเซ เชตเซเชฌ เชธเชฟเชธเซเชเชฎเซเชธเชฎเชพเช, เชเชตเชพ เชเซเชทเซเชเช เชฆเชฐ เชตเชเชคเซ เชจเชตเชพ เชธเชฟเชธเซเชเชฎ เชฐเซเชเซเชฐเซเชกเซเชธ เชเชจเชฐเซเช เชเชฐเชถเซ, เชเซ เชกเซเชเชพเชฌเซเช เชธเชพเชฅเซเชจเซเช เชเซเชกเชพเชฃ เชฌเชเชง เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชเชฐเซ, TEMP TABLE เชจเซ เช
เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชชเชฏเซเช pg_catalog เชฎเชพเช เชเซเชทเซเชเชเซเชจเซ "เชธเซเชเซ" เชคเชฐเชซ เชฆเซเชฐเซ เชเชพเชฏ เชเซ เช
เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชเชฃเชพ เชเชชเชฐเซเชถเชจเชจเซ เชงเซเชฎเซเช เชเชฐเซ เชเซ.
เช
เชฒเชฌเชคเซเชค, เชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซ เชถเชเชพเชฏ เชเซ เชธเชพเชฎเชฏเชฟเช เชฎเชพเชฐเซเช เชตเซเชเซเชฏเซเชฎ เชชเซเชฐเซเชฃ เชธเชฟเชธเซเชเชฎ เชเซเชเชฒเซเช เชเซเชทเซเชเชเซ เช
เชจเซเชธเชพเชฐ.
เชธเชคเซเชฐ เชเชฒเซ
เชเชพเชฒเซ เชงเชพเชฐเซเช เชเซ เชเช SQL เชเซเชตเซเชฐเซ เชฎเชพเชเซ เช
เชเชพเชเชจเชพ เชเซเชธเชฎเชพเชเชฅเซ เชกเซเชเชพ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเซ เชเซเชฌ เชเชเชฟเชฒ เชเซ, เชชเชฐเชเชคเซ เชคเชฎเซ เชคเซเชจเซ เชเชฃเซ เชตเชพเชฐ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ. เชเชเชฒเซ เชเซ, เช
เชฎเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชเชค เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช
เช เชฎเซ เช เชจเชพเชฎเซ เชฌเซเชฒเซเชเชฎเชพเช เชเชตเชพ เชฎเชพเชเซ $n-เชชเซเชฐเชพเชฎเซเชเชฐเซเชธเชจเซ เชชเชฃ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซเชถเซเช เชจเชนเซเช. เชธเชคเซเชฐ เชเชฒเซ เช เชจเซ เชซเชเชเซเชถเชจ เชเชชเชฃเชจเซ เช เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชฎเชพเชเชฅเซ เชฌเชนเชพเชฐ เชเชตเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเชถเซ เชตเชฐเซเชคเชฎเชพเชจ_เชธเซเชเชฟเชเช.
เชเชตเซเชคเซเชคเชฟ 9.2 เชชเชนเซเชฒเชพ เชชเซเชฐเซ-เชเซเชจเซเชซเชฟเชเชฐ เชเชฐเชตเซเช เชเชฐเซเชฐเซ เชนเชคเซเช
SET my.val = '{1,2,3}';
DO $$
DECLARE
id integer;
BEGIN
FOR id IN (SELECT unnest(current_setting('my.val')::integer[])) LOOP
RAISE NOTICE 'id : %', id;
END LOOP;
END;
$$ LANGUAGE plpgsql;
-- NOTICE: id : 1
-- NOTICE: id : 2
-- NOTICE: id : 3
เช เชจเซเชฏ เชเชเซเชฒเซ เช เชจเซเชฏ เชธเชฎเชฐเซเชฅเชฟเชค เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชเชค เชญเชพเชทเชพเชเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ.
เชถเซเช เชคเชฎเชจเซ เชฌเซเชเซ เชเซเช เชฐเซเชค เชเชฌเชฐ เชเซ? เชเชฟเชชเซเชชเชฃเซเชเชฎเชพเช เชถเซเชฐ เชเชฐเซ!
เชธเซเชฐเซเชธ: www.habr.com