mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-07 17:17:38 +08:00
CREATE TABLE AS has been preferred over SELECT INTO (outside of ecpg and PL/pgSQL) for a long time. There were still a few uses of SELECT INTO in tests and documentation, some old, some more recent. This changes them to CREATE TABLE AS. Some occurrences in the tests remain where they are specifically testing SELECT INTO parsing or similar. Discussion: https://www.postgresql.org/message-id/flat/96dc0df3-e13a-a85d-d045-d6e2c85218da%40enterprisedb.com
45 lines
1.1 KiB
SQL
45 lines
1.1 KiB
SQL
--
|
|
-- RANDOM
|
|
-- Test the random function
|
|
--
|
|
|
|
-- count the number of tuples originally, should be 1000
|
|
SELECT count(*) FROM onek;
|
|
|
|
-- pick three random rows, they shouldn't match
|
|
(SELECT unique1 AS random
|
|
FROM onek ORDER BY random() LIMIT 1)
|
|
INTERSECT
|
|
(SELECT unique1 AS random
|
|
FROM onek ORDER BY random() LIMIT 1)
|
|
INTERSECT
|
|
(SELECT unique1 AS random
|
|
FROM onek ORDER BY random() LIMIT 1);
|
|
|
|
-- count roughly 1/10 of the tuples
|
|
CREATE TABLE RANDOM_TBL AS
|
|
SELECT count(*) AS random
|
|
FROM onek WHERE random() < 1.0/10;
|
|
|
|
-- select again, the count should be different
|
|
INSERT INTO RANDOM_TBL (random)
|
|
SELECT count(*)
|
|
FROM onek WHERE random() < 1.0/10;
|
|
|
|
-- select again, the count should be different
|
|
INSERT INTO RANDOM_TBL (random)
|
|
SELECT count(*)
|
|
FROM onek WHERE random() < 1.0/10;
|
|
|
|
-- select again, the count should be different
|
|
INSERT INTO RANDOM_TBL (random)
|
|
SELECT count(*)
|
|
FROM onek WHERE random() < 1.0/10;
|
|
|
|
-- now test that they are different counts
|
|
SELECT random, count(random) FROM RANDOM_TBL
|
|
GROUP BY random HAVING count(random) > 3;
|
|
|
|
SELECT AVG(random) FROM RANDOM_TBL
|
|
HAVING AVG(random) NOT BETWEEN 80 AND 120;
|