나는 이와 같은 코드에서 변수를 선언하려고 시도하지만 작동하지 않습니다. 문제가 무엇인지 말해 줄 수 있습니까? PL/pgSQL의 기능 내에서PostgreSQL에서 변수를 선언하는 방법
ERROR: syntax error at or near "VARCHAR"
LINE 2: p_country VARCHAR;
DECLARE
p_country VARCHAR;
p_country : = '';
SELECT p_country;
postgresql
나는 이와 같은 코드에서 변수를 선언하려고 시도하지만 작동하지 않습니다. 문제가 무엇인지 말해 줄 수 있습니까? PL/pgSQL의 기능 내에서PostgreSQL에서 변수를 선언하는 방법
ERROR: syntax error at or near "VARCHAR"
LINE 2: p_country VARCHAR;
DECLARE
p_country VARCHAR;
p_country : = '';
SELECT p_country;
이 같은 변수를 선언 할 수
이CREATE FUNCTION identifier (arguments) RETURNS type AS '
DECLARE
-- Declare an integer.
subject_id INTEGER;
-- Declare a variable length character.
book_title VARCHAR(10);
-- Declare a floating point number.
book_price FLOAT;
BEGIN
statements
END;
' LANGUAGE 'plpgsql';
하지만 함수에서 변수를 선언하고 싶습니다. 가능한가? – user307880
[아직] (http://developer.postgresql.org/pgdocs/postgres/sql-do.html) –
이 custom_variable_classes에 대한 postgresql.conf의 새로운 설정을 만듭니다
custom_variable_classes = 'var'
구성을 다시로드하면 이제 "var"변수를 사용할 수 있습니다. 모든 데이터베이스에서.
SET var.p_country = 'US';
SELECT current_setting('var.p_country') AS p_country;
그것은 아름다움은 아니지만, 작동 :
은 사용 SET를 변수 p_country을 만듭니다.재미 있습니다. 그러나 원격 서버에 대한 쿼리를 만드는 것이 중요합니다. 나는 postgresql.conf를 편집 할 수 없을 것이라고 생각한다. – user307880
당신은 그들이 로켓 과학이 아닌 구성에서 이것을 추가하도록 요청할 수 있습니다. 임시 테이블을 사용하여 변수를 넣을 수도 있습니다. –
문제에 대한 추가 데이터를 제공하십시오 – Karthik
다음과 같이 작성하는 것이 좋습니다. DECLARE p_country VARCHAR; p_country : = ''; SELECT p_country; – user307880
구문에 어떤 문제가 있습니까? – user307880