Arnau wrote:
Tom Lane wrote:
Arnau <[EMAIL PROTECTED]> writes:
I don't want, if it's possible, to create a function.
Unlike Oracle, PG makes a strong distinction between SQL and
programmable languages (including plpgsql). You can't write
plpgsql code without putting it into a function.
regards, tom lane
I've tried Daniel's suggestion but the Raise doesn't terminate the
script execution, so if doesn't do what I need. Notice the Update 1
[EMAIL PROTECTED]:~$ psql -d dermagier -f upgrade_agenda.sql
CREATE FUNCTION
psql:upgrade_agenda.sql:16: ERROR: This script needs Agenda version
1.0.0.0, detected version 1.0.0.1
UPDATE 1
I paste the script I have created:
CREATE OR REPLACE FUNCTION check_version() RETURNS void
AS '
DECLARE
v_version VARCHAR;
BEGIN
SELECT version INTO v_version FROM agenda_version WHERE id = 1;
IF v_version <> ''1.0.0.0'' THEN
RAISE EXCEPTION ''This script needs Agenda version 1.0.0.0,
detected version %'', v_version;
END IF;
END;
' LANGUAGE 'plpgsql';
SELECT check_version();
UPDATE agenda_version set version = '1.0.0.1' where id = 1;
--
Arnau
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly