programing

변수가 있지만 "INTO"가 없는 단순 "SELECT"

mailnote 2023. 7. 30. 18:02
반응형

변수가 있지만 "INTO"가 없는 단순 "SELECT"

동일한 값을 가진 몇 가지 다른 SELECT 쿼리가 있습니다.선언 같은 것을 사용하고 싶은데 간단한 선언문을 쓰면 "INTO"가 예상됩니다.

"선택"만 원하는 경우 "INTO" 없이 이 양식을 어떻게 사용할 수 있습니까?

두 가지(또는 그 이상)를 선택할 수 있습니다.

SELECT * FROM my_table1 WHERE column1=5 and column2=6;

그리고.

SELECT * FROM my_table2 WHERE col1=5 and col2=6;

이제 var_col1 및 var_col2와 같은 변수를 선언하고 두 선택 쿼리에 동시에 사용하려고 합니다.

효과가 있을 거라 생각했습니다.

DECLARE
var_col1 number := 5;
var_vol2 number := 6;
BEGIN
SELECT * FROM my_table1 WHERE column1=var_col1 and column2=var_col2;
SELECT * FROM my_table2 WHERE col1=var_col1 and col2=var_col1;
/* and more SELECTs with var_col1 and var_col2 */
END;

하지만 그럴 가능성은...절차나 기능 없이 어떻게 그렇게 할 수 있습니까?

당신이 글을 쓸 때select * from some_table;SQL*Plus에서 사용할 수 있습니다.SQL*Plus는 클라이언트 프로그램 역할을 하며, 데이터베이스에서 반환되는 데이터를 포맷하고 표시하는 데 많은 도움이 됩니다.

입력하는 즉시DECLAREPL/SQL 블록을 시작합니다.이제 PL/SQL을 호출하고 PL/SQL을 호출합니다.따라서 SQL에서 반환되는 데이터를 PL/SQL에서 처리할 방법을 결정해야 합니다.그것을 하는 방법은, 그것을 통해.INTO출력을 수신할 절과 변수.그것을 고려할 때, 어디에서 출력 데이터가SELECT가, 만약 당신이 제공하지 않는다면.INTO조항?어디로 가야 되는 거지?

그것이 확실하기를 바랍니다.

선언된 변수를 선택하거나 열을 설정해야 합니다.예:

DECLARE
var_col1 number := 5;
var_vol2 number := 6;
BEGIN
   SELECT my_table1.var_col into var_col1 
     FROM my_table1 
    WHERE column1=var_col1 
      AND column2=var_col2;
--etc.....
END;

OR

DECLARE
    var_col1 number := 5;
    var_vol2 number := 6;
    BEGIN
       SELECT 5 into var_col1 
         FROM my_table1 
        WHERE column1=var_col1 
          AND column2=var_col2;
    --etc.....
    END;

편집: SQL에서 출력을 반환하는 데 사용할 수 있는 출력 V 변수를 선언하여 디버깅 등에 도움이 될 수도 있습니다.따라서 다음과 같은 작업을 수행할 수 있습니다.

DECLARE
 out  varchar2(200);

BEGIN 문에서 다음과 같은 작업을 수행합니다.

 dbms_output.put_line(out);

그러면 잠재적으로 유용한 정보가 출력됩니다(설정 내용에 따라 다름).

다양한 창 유형을 선택할 수 있는 PLSQL Developer를 사용하고 있습니다.명령 창은 SQL*Plus 에뮬레이터입니다.그렇다면 이것은 효과가 있을 것입니다.

var n1 number 
var n2 number 

exec &&n1 := 5
exec &&n2 := 6

SELECT * FROM my_table1 WHERE column1=&&n1 and column2=&&n2 ; 
SELECT * FROM my_table2 WHERE col1&&n1 and col2=&&n2;

즉, 두 개의 대체 변수를 정의하고 값을 할당한 다음 마지막으로 모든 쿼리에 배포합니다.

언급URL : https://stackoverflow.com/questions/9416727/simple-select-with-variable-but-without-into

반응형