일반적인 문제 Oracle 저장 프로시저 작성 방법

Oracle 저장 프로시저 작성 방법

Jul 24, 2019 pm 03:49 PM
oracle

Oracle 저장 프로시저는 [CREATE OR REPLACE PROCEDURE 저장 프로시저 이름(param1 in 유형, param2 out 유형) IS 변수 1 유형(값 범위) BEGIN 선택 개수...]로 작성됩니다.

Oracle 저장 프로시저 작성 방법

추천 튜토리얼: oracle 튜토리얼# 🎜🎜#

1. 저장 프로시저의 기본 구문:

 CREATE OR REPLACE PROCEDURE 存储过程名(param1 in type,param2 out type)
  IS
  变量1 类型(值范围);
  变量2 类型(值范围);  
  BEGIN
    select count(*) into 变量1 from 表名 where 列名=param1;
    if (判断条件) then
      select 列名 into 变量2 from 表名 where 列名=param1;
      DBMS_OUTPUT.put_line('打印信息');
    Elsif (判断条件) then
      dbms_output.put_line('打印信息');
    Else
      Raise 异常名 (NO_DATA_FOUND);
    End if;
  Exception
      When others then
        Rollback;   
  END;
로그인 후 복사

#🎜 🎜#2. 명명된 예외:

  命名的系统异常               产生原因
  ACCESS_INTO_NULL           未定义对象
  CASE_NOT_FOUND              CASE中若未包含相应的WHEN,并且没有设置ELSE时
  COLLECTION_IS_NULL           集合元素未初始化
  CURSER_ALREDAY_OPEN          游标已经打开
  DUP_VAL_NO_INDEX              唯一索引对应的列上有重复的列
  INVALID_CUSER               在不合法的游标上操作
  INVALID_NUMBER               内嵌的SQL语句不能将字符转换为数字
  NO_DATA_FOUND               使用select into 未返回行,或应用索引表未初始化
  TOO_MANY_ROWS                执行select into 时,结果集超过一行
  ZERO_DIVIDE                  除数为0
  SUBSCRIPT_BEYOND_COUNT          元素下标超过嵌套表或VARRAY的最大值
  SUBSCRIPT_OUTSIDE_LIMIT          使用嵌套表或VARRAY时,将下标指定为负数
  VALUE_ERROR               赋值时,变量长度不足以容纳实际数量
  LOGIN_DENIED               PL/SQL应用程序连接到ORACLE数据库时,提供了不正确的用户名和密码
  NO_LOGGED_ON                 PL/SQL应用程序在没有连接ORACLE数据库的情况下访问数据 
  PROGRAM_ERROR              PL/SQL内部问题,可能需要重装数据字典& PL/SQL系统包
  ROWTYPE_MISMATCH             宿主游标变量与PL/SQL游标变量的返回类型不兼容
  SELF_IS_NULL                 使用对象类型时,在NULL对象上调用对象方法
  STORAGE_ERROR                运行PL/SQL时,超出内存空间
  SYS_INVALID_ID              无效的ROWID字符串
  TIMEOUT_ON_RESOURCE             ORACLE在等待资源时超时
로그인 후 복사

3 실제 예 #🎜 🎜#

2.1 매개변수가 없는 프로시저

create or replace procedure test_count 
 is 
  v_total int;
  v_date varchar(20);
 begin
    select count(*) into v_total from dual;
    select to_char(sysdate,'yyyy-mm-dd') into v_date from dual;     
    DBMS_OUTPUT.put_line('总人数:'||v_total);   
    DBMS_OUTPUT.put_line('当前时间:'||v_date);  
  end;
로그인 후 복사
호출 방법:

begin
    test_count;
end;
로그인 후 복사
#🎜🎜 #2.2 전달된 매개변수만 사용하는 프로시저

 create or replace procedure test_count1(v_id in varchar2)
       as 
       v_name varchar(100);
       begin
         select c_name into v_name from tb_store where c_stono=v_id;
         DBMS_OUTPUT.put_line(v_id||'店的名称为:'||v_name);
        exception
         when no_data_found then dbms_output.put_line('no_data_found');
       end;
로그인 후 복사
호출 방법: #🎜 🎜#
begin
 test_count1(11910);
end;
로그인 후 복사
#🎜 🎜#

2.3 출력 매개변수만 사용하는 프로시저

create or replace procedure test_count2(v_name out varchar2)
  is
  begin
        select c_name into v_name from tb_store where c_stono='1101';
    exception
        when no_data_found then dbms_output.put_line('no_data_found');
  end;
로그인 후 복사

2.4 입력 매개변수와 출력 매개변수가 포함된 저장 프로시저

declare 
  v_name varchar(200);
  begin
    test_count2(v_name);
    dbms_output.put_line(v_name);
  end;
로그인 후 복사

통화 방법 :

  create or replace procedure test_count3(v_id in int,v_name out varchar2) 
   is 
       begin   
            select c_name into v_name from tb_store where c_stono=v_id;
            dbms_output.put_line(v_name);
    exception
             when no_data_found then dbms_output.put_line('no_data_found');
  end;
로그인 후 복사

위 내용은 Oracle 저장 프로시저 작성 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

오라클을 열 수 없다면해야 할 일 오라클을 열 수 없다면해야 할 일 Apr 11, 2025 pm 10:06 PM

Oracle에 대한 솔루션은 개설 할 수 없습니다. 1. 데이터베이스 서비스 시작; 2. 청취자를 시작하십시오. 3. 포트 충돌을 확인하십시오. 4. 환경 변수를 올바르게 설정하십시오. 5. 방화벽이나 바이러스 백신 소프트웨어가 연결을 차단하지 않도록하십시오. 6. 서버가 닫혀 있는지 확인하십시오. 7. RMAN을 사용하여 손상된 파일을 복구하십시오. 8. TNS 서비스 이름이 올바른지 확인하십시오. 9. 네트워크 연결 확인; 10. Oracle 소프트웨어를 다시 설치하십시오.

Oracle에서 모든 데이터를 삭제하는 방법 Oracle에서 모든 데이터를 삭제하는 방법 Apr 11, 2025 pm 08:36 PM

Oracle에서 모든 데이터를 삭제하려면 다음 단계가 필요합니다. 1. 연결 설정; 2. 외국의 주요 제약을 비활성화합니다. 3. 테이블 데이터 삭제; 4. 거래 제출; 5. 외국 키 제약 조건을 활성화합니다 (선택 사항). 데이터 손실을 방지하려면 실행하기 전에 데이터베이스를 백업하십시오.

Oracle Cursor를 닫는 문제를 해결하는 방법 Oracle Cursor를 닫는 문제를 해결하는 방법 Apr 11, 2025 pm 10:18 PM

Oracle Cursor Closure 문제를 해결하는 방법에는 다음이 포함됩니다. Close 문을 사용하여 커서를 명시 적으로 닫습니다. For Update 절에서 커서를 선언하여 범위가 종료 된 후 자동으로 닫히십시오. 연관된 PL/SQL 변수가 닫히면 자동으로 닫히도록 사용 절에서 커서를 선언하십시오. 예외 처리를 사용하여 예외 상황에서 커서가 닫혀 있는지 확인하십시오. 연결 풀을 사용하여 커서를 자동으로 닫습니다. 자동 제출을 비활성화하고 커서 닫기를 지연시킵니다.

Oracle Loop에서 커서를 만드는 방법 Oracle Loop에서 커서를 만드는 방법 Apr 12, 2025 am 06:18 AM

Oracle에서 FOR 루프 루프는 커서를 동적으로 생성 할 수 있습니다. 단계는 다음과 같습니다. 1. 커서 유형을 정의합니다. 2. 루프를 만듭니다. 3. 커서를 동적으로 만듭니다. 4. 커서를 실행하십시오. 5. 커서를 닫습니다. 예 : 커서는 상위 10 명의 직원의 이름과 급여를 표시하기 위해주기별로 만들 수 있습니다.

Oracle 데이터베이스를 이끄는 방법 Oracle 데이터베이스를 이끄는 방법 Apr 11, 2025 pm 08:42 PM

Oracle 데이터베이스 페이징은 rownum pseudo-columns 또는 fetch 문을 사용하여 구현합니다. Fetch 문은 지정된 첫 번째 행 수를 얻는 데 사용되며 간단한 쿼리에 적합합니다.

Oracle 데이터베이스를 중지하는 방법 Oracle 데이터베이스를 중지하는 방법 Apr 12, 2025 am 06:12 AM

Oracle 데이터베이스를 중지하려면 다음 단계를 수행하십시오. 1. 데이터베이스에 연결하십시오. 2. 즉시 종료; 3. 셧다운은 완전히 중단됩니다.

Oracle Dynamic SQL을 만드는 방법 Oracle Dynamic SQL을 만드는 방법 Apr 12, 2025 am 06:06 AM

SQL 문은 Oracle의 동적 SQL을 사용하여 런타임 입력을 기반으로 작성 및 실행할 수 있습니다. 단계에는 다음이 포함됩니다 : 동적으로 생성 된 SQL 문을 저장할 빈 문자열 변수 준비. 즉시 실행 또는 준비 명령문을 사용하여 동적 SQL 문을 컴파일하고 실행하십시오. 바인드 변수를 사용하여 사용자 입력 또는 기타 동적 값을 동적 SQL로 전달하십시오. 동적 SQL 문을 실행하려면 즉시 실행 또는 실행을 사용하십시오.

HDFS에서 CentOS를 구성하는 데 어떤 단계가 필요합니까? HDFS에서 CentOS를 구성하는 데 어떤 단계가 필요합니까? Apr 14, 2025 pm 06:42 PM

Centos 시스템에서 Hadoop 분산 파일 시스템 (HDF)을 구축하려면 여러 단계가 필요합니다. 이 기사는 간단한 구성 안내서를 제공합니다. 1. 초기 단계에서 JDK를 설치할 준비 : 모든 노드에 JavadevelopmentKit (JDK)을 설치하면 버전이 Hadoop과 호환되어야합니다. 설치 패키지는 Oracle 공식 웹 사이트에서 다운로드 할 수 있습니다. 환경 변수 구성 : /etc /프로파일 파일 편집, Java 및 Hadoop 설정 설정 시스템에서 JDK 및 Hadoop의 설치 경로를 찾을 수 있습니다. 2. 보안 구성 : SSH 비밀번호가없는 로그인 SSH 키 : 각 노드에서 ssh-keygen 명령을 사용하십시오.