반응형
postgresql에서 로컬 변수를 선언하는 방법은 무엇입니까?
여기에는 거의 동일하지만 실제로 대답하지 않은 질문이 있습니다.
응용프로그램을 MS SQL Server에서 Postgre로 마이그레이션하는 중입니다.SQL. 코드의 많은 곳에서 로컬 변수를 사용하기 때문에 작업이 덜 필요한 변경을 진행하고 싶은데 다음 코드를 번역하는 가장 좋은 방법을 알려주시겠습니까?
-- MS SQL Syntax: declare 2 variables, assign value and return the sum of the two
declare @One integer = 1
declare @Two integer = 2
select @One + @Two as SUM
다음과 같이 반환됩니다.
SUM
-----------
3
(1 row(s) affected)
Postgresql 8.4 또는 9.0이 번역을 단순화할 수 있는 중요한 기능을 포함하고 있다면 사용할 것입니다.
Postgresql은 역사적으로 명령 수준의 절차 코드를 지원하지 않으며 함수 내에서만 지원됩니다.그러나 Postgresql 9에서는 구문이 약간 이상하고 SQL Server로 수행할 수 있는 작업에 비해 많은 제한 사항이 있지만 이와 같은 작업을 효과적으로 지원하는 인라인 코드 블록을 실행하기 위한 지원이 추가되었습니다.특히 인라인 코드 블록은 결과 집합을 반환할 수 없으므로 위에서 설명한 내용에 사용할 수 없습니다.
일반적으로 절차 코드를 작성하고 결과를 반환하려면 함수 안에 넣어야 합니다.예:
CREATE OR REPLACE FUNCTION somefuncname() RETURNS int LANGUAGE plpgsql AS $$
DECLARE
one int;
two int;
BEGIN
one := 1;
two := 2;
RETURN one + two;
END
$$;
SELECT somefuncname();
더 포스트그SQL 와이어 프로토콜은 여러 결과 집합을 반환하는 명령과 같은 것을 허용하지 않는 것으로 알고 있습니다.따라서 단순히 T-SQL 배치 또는 저장 프로시저를 Postgre에 매핑할 수 없습니다.SQL 함수입니다.
언급URL : https://stackoverflow.com/questions/3157753/how-to-declare-local-variables-in-postgresql
반응형
'programing' 카테고리의 다른 글
C에서 강력한 유형 검사 적용(유형 정의에 대한 유형 엄격성) (0) | 2023.07.05 |
---|---|
데이터 소스 'spring.datasource.url'을(를) 자동 구성하지 못했습니다. (0) | 2023.07.05 |
컬렉션에서 선택한 문서의 위치를 가져옵니다 [mongoDB]. (0) | 2023.07.05 |
node.js의 기존 json 개체에 새 특성 추가 (0) | 2023.07.05 |
UIAertController 텍스트 필드에서 입력 값을 가져오는 방법은 무엇입니까? (0) | 2023.07.05 |