programing

PL/SQL에 "LIKE %"(예: "variable %")가 있는 변수를 사용하시겠습니까?

instargram 2023. 7. 31. 21:03
반응형

PL/SQL에 "LIKE %"(예: "variable %")가 있는 변수를 사용하시겠습니까?

이 질문은 SQL *PLUS에서 LIKE를 사용하는 것과 유사하며, select 문에는 다음과 같은 LIKE 절이 포함됩니다.

select * from sometable where somecolumn LIKE 'something%';

어떻게 커서 안에서 같은 것을 사용할 수 있습니까?다음을 사용해 보았습니다.

 cursor c is select * from sometable where somecolumn like 'something%'; 

상기와 같은

편집: 매개 변수로 무언가를 가져와야 합니다. 즉, 선택 문은 저장 프로시저 내에서 실행됩니다.

편집 2:

create procedure proc1 (search VARCHAR) is

cursor c is select student_name from students where student_name like 'search%';

--'search%'를 사용하면 '키 검색'이 포함된 학생 이름이 검색되는 것으로 알고 있습니다만, 이러한 변수를 사용할 수 있는 다른 방법이 있습니까?

do something;

end;

간단히 말해, 매개 변수로 전달되는 값이 포함된 학생 이름을 선택해야 합니다. 전체 이름이 아닐 수도 있고 동일한 절 내에서 사용하기에 충분할 수도 있습니다.

당신의 문제에 대한 제가 이해한 바로는, 당신은 변수를 사용하고 있습니다.search인용구 내에서변수를 따옴표 밖에 놓습니다. 예:

 create or replace procedure PROC1(search VARCHAR2) 
 IS
  cursor test_cur(search IN VARCHAR2)
   IS
    SELECT student_name 
    FROM student
    WHERE student_name LIKE search||'%'; --you're putting you variable within quotes

 v_temp_var student.student_name%TYPE;

BEGIN

 OPEN test_cur(search);
  LOOP
   FETCH test_cur INTO v_temp_var;
    EXIT WHEN test_cur%NOTFOUND;

    DBMS_OUTPUT.PUT_LINE(v_temp_var);  
  END LOOP;

 CLOSE test_cur;

END test;

언급URL : https://stackoverflow.com/questions/10150723/use-a-variable-with-like-e-g-variable-in-pl-sql

반응형