programing

이 PL/SQL에 문제가 있습니까? 변수 바인딩 *이(가) 선언되지 않았습니다.

testmans 2023. 7. 29. 08:16
반응형

이 PL/SQL에 문제가 있습니까? 변수 바인딩 *이(가) 선언되지 않았습니다.

여기:

declare
  v_str1   varchar2(80);
begin
  v_str1 := 'test';
  print :v_str1;
end

SQL Developer를 사용하여 SQL 워크시트를 실행하면 다음과 같은 이점이 있습니다.

Bind Variable "v_str1" is NOT DECLARED
anonymous block completed

알겠습니다.

set serveroutput on

declare
  v_str1   varchar2(80);    
begin
 v_str1 := 'test';
 dbms_output.put_line(v_str1);
end;

자세한 내용은 여기.

:VARNAME 형식의 바인딩 변수 구문은 주로 SQL* Plus에서 사용됩니다(동적 SQL의 바인딩 변수 제외).SQL* Developer, PL/SQL Developer 또는 기타 앱의 경우 변수 대체를 위한 "&"이 있습니다.


declare
  v_str1   varchar2(80);
begin
  v_str1 := &v_str;
  print v_str1;
end

편집: 죄송합니다. Oracle SQL*Developer용 코드는 다음과 같아야 합니다.


set serveroutput on;
declare
  v_str1   varchar2(80);
begin
  v_str1 := '&v_str';
  dbms_output.put_line(v_str1);
end;

당신은 모든 것을 선택하고 실행해야 합니다.결과는 "스크립트 출력" 패널에 나타납니다.

printPLSQL 함수가 아닙니다.출력을 얻으려면 다음을 사용할 수 있습니다.dbms_output.put_line(v_str1);

set serveroutput on;    
declare v_str1 varchar2(80);
begin
    v_str1 := 'test'; 
    dbms_output.put_line(v_str1);
end;

:v_str1은 바인딩 변수이지만 plsql에 없음을 선언해야 합니다.선언할 때는 VARIVEL 키워드를 사용해야 합니다.

해라

declare
  v_str1   varchar2(80);
begin
  v_str1 := 'test';
  print v_str1;
end

언급URL : https://stackoverflow.com/questions/1597806/what-is-wrong-with-this-pl-sql-bind-variable-is-not-declared

반응형