在函数中为变量使用输入的属性值的方法 |数据库
Way to use the entered attribute value for the variable in your function | PostgreSQL
我卡住了如何将“Airline_ID”的输入值用于我的变量“_var”。我需要检查“Airline_ID”是否存在,如果不存在我需要输出一条消息。
CREATE OR REPLACE FUNCTION add_flight(
PLAN_ID INT,
AIRLINE_ID INT,
STATUS_ID INT)
RETURNS void AS $BODY$
DECLARE
SELECT AIRLINE_ID INTO _var; -- <-Problem
BEGIN
INSERT INTO flug.flugplan
VALUES(
PLAN_ID,
AIRLINE_ID,
STATUS_ID);
IF _var > 8 THEN raise notice 'test123';
ELSEIF _var < 1 THEN raise notice '123test';
ELSE raise notice 'Worked!';
END IF;
END;
$BODY$ LANGUAGE plpgsql;
不需要复制参数值。可以直接在IF语句中访问参数:
CREATE OR REPLACE FUNCTION add_flight(
PLAN_ID INT,
AIRLINE_ID INT,
STATUS_ID INT)
RETURNS void AS
$BODY$
BEGIN
INSERT INTO flug.flugplan
VALUES(
PLAN_ID,
AIRLINE_ID,
STATUS_ID);
IF airline_id > 8 THEN raise notice 'test123';
ELSEIF airline_id < 1 THEN raise notice '123test';
ELSE raise notice 'Worked!';
END IF;
END;
$BODY$
LANGUAGE plpgsql;
我卡住了如何将“Airline_ID”的输入值用于我的变量“_var”。我需要检查“Airline_ID”是否存在,如果不存在我需要输出一条消息。
CREATE OR REPLACE FUNCTION add_flight(
PLAN_ID INT,
AIRLINE_ID INT,
STATUS_ID INT)
RETURNS void AS $BODY$
DECLARE
SELECT AIRLINE_ID INTO _var; -- <-Problem
BEGIN
INSERT INTO flug.flugplan
VALUES(
PLAN_ID,
AIRLINE_ID,
STATUS_ID);
IF _var > 8 THEN raise notice 'test123';
ELSEIF _var < 1 THEN raise notice '123test';
ELSE raise notice 'Worked!';
END IF;
END;
$BODY$ LANGUAGE plpgsql;
不需要复制参数值。可以直接在IF语句中访问参数:
CREATE OR REPLACE FUNCTION add_flight(
PLAN_ID INT,
AIRLINE_ID INT,
STATUS_ID INT)
RETURNS void AS
$BODY$
BEGIN
INSERT INTO flug.flugplan
VALUES(
PLAN_ID,
AIRLINE_ID,
STATUS_ID);
IF airline_id > 8 THEN raise notice 'test123';
ELSEIF airline_id < 1 THEN raise notice '123test';
ELSE raise notice 'Worked!';
END IF;
END;
$BODY$
LANGUAGE plpgsql;