반응형
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
반응형
'programing' 카테고리의 다른 글
다중 사용자 ASP의 정적 변수 범위.NET 웹 애플리케이션 (0) | 2023.07.31 |
---|---|
모든 패키지에 대해 'pip 설치'가 실패함("요구 사항을 충족하는 버전을 찾을 수 없음") (0) | 2023.07.31 |
모델 클라이언트 유효성 검사 규칙 (0) | 2023.07.31 |
SQL 데이터베이스에 아랍어 저장 (0) | 2023.07.31 |
삽입...키 업데이트 문 복제 시 (0) | 2023.07.31 |