Oracle PL/SQL where 절에서 변수를 사용하는 방법
Oracle PL/SQL where 절에서 작동할 변수를 얻을 수 없는 것 같습니다.저는 마이크로소프트 SQL 서버 배경 출신이고 거기서는 쉬웠습니다.예를 들어, 다음과 유사한 작업을 수행하는 데 필요한 모든 단계는 무엇입니까?
declare @var int set @var = 1
select * from SomeTable where SomeField = @var
이것은 PL/SQL에서는 어려울 것 같지 않지만 분명히 어려울 것입니다. :-/ PL/SQL에서는 커서 등을 사용해야 한다고 하던데요?
어떤 도움이라도 주시면 대단히 감사하겠습니다.감사해요.
SELECT가 반환하는 데이터를 어떻게 처리하시겠습니까?PL/SQL이 전혀 필요 없는 경우 SQL Plus에서 이 작업을 수행하면 됩니다.
variable var number
exec :var := 1
select * from SomeTable where SomeField = :var;
또는 SQL Developer나 Toad와 같은 툴에서 다음과 같은 작업을 수행합니다.
select * from SomeTable where SomeField = :var;
그러면 :var에 대한 값을 입력하라는 메시지가 나타납니다.
다음 코드는 변수를 선언합니다.var
에 사용하다WHERE
절과 변수result
결과를 에 넣은 다음 PL/SQL 블록 안에서 실행합니다.
DECLARE
var INT := 1;
result INT;
BEGIN
SELECT 123
INTO result
FROM DUAL
WHERE var = 1;
DBMS_OUTPUT.put_line (var);
DBMS_OUTPUT.put_line (result);
END;
그DBMS_OUTPUT.PUT_LINE
호출을 통해 다음과 같은 DBMS 출력이 생성됩니다.
1
123
declare
type t_rec is record
(
col1 number,
col2 myTable.col2%type
);
v_rec t_rec;
type t_tab is table of v_rec%type index by binary_integer;
v_tab t_tab;
begin
select col1, col2
bulk collect into v_tab
from myTable
where col3 = 'BLAH';
-- do something great with v_tab...
end;
또한 변수를 선택(또는 대량 수집)하려고 해도 반환되는 행이 없으면 no_data_found 예외가 발생하므로 해당 상황을 처리해야 할 수도 있습니다.
pl/sql 컬렉션에 대한 자세한 내용은 여기를 참조하십시오.위에서는 연관 배열을 사용하지만 중첩된 표와 배열도 있습니다.다시 링크를 봅니다.
도움이 되길 바랍니다.
이렇게 써요.
select * from sec_mainmenu where serno = '&MENU_ID';
실행하면 PL/sql에서 MENU_ID 값을 입력하라는 메시지가 나타납니다.
언급URL : https://stackoverflow.com/questions/5666647/how-to-use-variables-in-an-oracle-pl-sql-where-clause
'programing' 카테고리의 다른 글
Google Sign In 버튼을 클릭하면 앱이 다운됩니다. (0) | 2023.11.05 |
---|---|
POI를 사용하여 숫자 형식으로 Excel 셀 값 설정 (0) | 2023.11.05 |
const로 정의된 객체의 값을 포인터를 통해 변경할 수 있습니까? (0) | 2023.10.31 |
$파일의 각 $파일에 대한 PowerShell (0) | 2023.10.31 |
각도 사용법.각 컨트롤러 또는 스코프에서 Json에게 (0) | 2023.10.31 |