set rowcount 100000
set dateformat ymd
DElete from _Document452
where _Document452._Date_Time >=('4018-12-01 00:00:00')
and _Document452._Date_Time <=('4018-12-31 23:59:59')
while @@rowcount > 0
begin
DElete from _Document452
where _Document452._Date_Time >=('4018-12-01 00:00:00')
and _Document452._Date_Time <=('4018-12-31 23:59:59')
end;
Но как его переделать под Postgress?
В Postgress нет такой конструкции @@rowcount
set dateformat ymd
DElete from _Document452
where _Document452._Date_Time >=('4018-12-01 00:00:00')
and _Document452._Date_Time <=('4018-12-31 23:59:59')
get diagnostics rows_count = row_count;
while row_count > 0
begin
DElete from _Document452
where _Document452._Date_Time >=('4018-12-01 00:00:00')
and _Document452._Date_Time <=('4018-12-31 23:59:59')
end;
CREATE OR REPLACE FUNCTION udolit()
RETURNS NUMERIC AS
$$
DECLARE
skoka_udolil BIGINT;
BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS t (
a INTEGER
);
INSERT INTO t VALUES (1), (2), (3);
DELETE FROM t WHERE 1=1;
GET DIAGNOSTICS skoka_udolil = ROW_COUNT;
RETURN skoka_udolil;
END;
$$
LANGUAGE plpgsql;
SELECT udolit();
Основная теорема систематики: Новые системы плодят новые проблемы.