PL/SQL에서 한 줄 IF 조건
pl/sql에 있으면 한 줄 쓸 수 있나요?그냥 궁금해서.
이 토막글을 쓰고 싶습니다.
IF ( i.DECISAO_AT = 'S')
THEN 'PA'
ELSE 'I'
END IF;
그리고 자바처럼 한 줄로 쓸 수 있는지 알고 싶습니다.다음과 같은 경우:
IF ( i.DECISAO_AT = 'S') ? 'PA' : 'I' ;
감사합니다!
당신은 글을 쓸 수 있습니다.IF ... ELSE ... END IF;다른 사람들이 보여준 것처럼 한 줄에 서 있습니다. 하지만 아니요, 당신은 당신이 제안한 것을 할 수 없고 "Java처럼"이라고 적을 수 없습니다.
IF ( i.DECISAO_AT = 'S') ? 'PA' : 'I' ;
PL/SQL이 Java를 이해하지 못합니다.?그리고.:syntax, 및 syntax와 같은 고유의 ternary 연산자가 없습니다.설명서에 설명된 내용만 사용할 수 있습니다.제가 생각하기에 당신이 요구하는 것과 가장 가까운 것은, 어쨌든 이 특정한 진술에 대해, 아마도.case:
CASE WHEN i.DECISAO_AT = 'S' THEN 'PA' ELSE 'I' END
아니면 아마.decode, 이미 xQbert가 댓글로 제안한 것처럼.하지만 더 이상 "IF"는 아닙니다.
문제가 없습니다.PL/SQL코드가 한 줄이나 여러 줄에 있는 경우 실행합니다.그것이 중요한 것은 구문이 정확합니다.
당신은 사용할 수 있습니다.DECODE인라인에서 사용할 수 있는 문장:Oracle/PLSQL의 DECODE 함수에 대한 구문은 다음과 같습니다.
DECODE( expression , search , result [, search , result]... [, default] )
물론 가능합니다. 하지만 나중에 디버그를 해야 할 때 몇 가지 테스트를 하면 골치가 아플 것입니다.별도의 라인에 보관하면 읽기, 디버그, 코멘트 작성이 쉬워지고 유지보수가 쉬워집니다(따라서 비용도 저렴해집니다.다음에 작업할 사람이 당신에게 감사할 것입니다.
책에서 읽은 적이 있습니다. ('C elements of style'이라고 생각합니다.) "C elements of style" (세련하고 영리한 살인을 조심하세요.)단순하고 쉽게 유지할 수 있습니다.당신 다음에 코드를 유지해야하는 남자의 코드.
DECODE는 아래와 같이 SELECT INTO와 함께 사용할 수 있습니다."my_var"는 디코딩된 값을 유지하기 위해 선언된 변수입니다.
SELECT DECODE(i.DECISAO_AT, 'S', 'PA', 'I') INTO my_var FROM DUAL;
언급URL : https://stackoverflow.com/questions/30482789/one-line-if-condition-in-pl-sql
'programing' 카테고리의 다른 글
| 일반 형식의 구성 요소 선언 (0) | 2023.09.12 |
|---|---|
| Pandas read_csv 기능에서 로드 시 라인을 필터링하려면 어떻게 해야 합니까? (0) | 2023.09.07 |
| requirejs domReady 플러그인 대 Jquery $(문서).준비됐어요? (0) | 2023.09.07 |
| git: 로컬 분기 이름 변경 실패 (0) | 2023.09.07 |
| 연결 대상 경로를 확인하는 파워셸 (0) | 2023.09.07 |