찾다
데이터 베이스OracleOracle 저장 프로시저에서 변수에 값을 할당하는 방법은 무엇입니까?

변수에 값을 할당하는 방법: 1. ":="를 사용하여 값을 직접 할당하고 구문은 "변수 이름:=값;"입니다. 2. "테이블에서 변수로 테이블 필드 선택"을 사용합니다. 3. "즉시 SQL 문 문자열을 변수로 실행" 문을 사용합니다.

Oracle 저장 프로시저에서 변수에 값을 할당하는 방법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

Oracle 저장 프로시저 변수 선언 및 값 할당 방법

1. 변수 선언 3가지 방법

데이터 유형의 선언 방법에 따라 구분됨

방법 1: 직접 선언 데이터 유형

형식: 변수 이름 데이터 유형(크기)

V_START_DATE VARCHAR2(19);
v_num number;

 설명:

 문자열 유형으로 설정하면 크기를 지정해야 하며, 그렇지 않으면 오류가 보고됩니다.

  변수는 "begin" 키워드 앞에 만들어져야 합니다.

--错误用法
BEGIN
v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';

방법 2: %TYPE 문 사용

형식: 변수 이름 테이블 이름.필드 이름 %TYPE

의미: 변수의 데이터 유형이 지정된 테이블의 지정된 필드의 데이터 유형과 일치합니다.

V_ORGSEQ BASE_ORG_INFO.ORGSEQ%TYPE;

방법 3: %ROWTYPE 선언 사용

 형식: 변수 이름 테이블 이름%ROWTYPE

의미: 변수의 데이터 유형이 지정된 테이블의 지정된 행 레코드(모든 필드)의 데이터 유형과 일치합니다

--VIRTUAL_CARD表整行数据
V_ROW_VIRTUAL_CARD VIRTUAL_CARD%ROWTYPE; 

 요약:

 저장 프로시저에서 변수를 선언할 때 "DECLARE" 키워드를 사용할 필요가 없습니다.  

  변수는 대소문자를 구분하지 않습니다.

 사용.

2. 3가지 변수 할당

방법 1: 직접 할당, ":="

  사용 조건: 처음 2가지 변수 선언 방법에 적용됩니다.

V_ORGID :=  '110';  

 참고:

 변수 뒤에는 sql 문이 바로 올 수 없습니다. sql은 실행되지 않습니다.

--错误用法
V_ORGSEQ := SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO;
--正确用法
V_ORGSEQ := 'SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO';

 변수 선언과 할당을 함께 할 수 있습니다.

--正确用法
v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';
BEGIN
 /* 具体业务 */
END;

방법 2: 테이블 필드를 테이블에서 변수로 선택

변형 1: 지정된 테이블의 지정된 필드를 쿼리

사용 조건: 변수 선언의 처음 두 가지 방법에 적용 가능하며

을 사용할 수 있습니다.
--根据医疗机构ID查询对应的父机构的机构序列
SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO
 WHERE ORGID =
       (SELECT PARENTORGID FROM BASE_ORG_INFO WHERE ORGID = V_ORGID);

Transformation Two: 지정된 테이블의 모든 필드 쿼리

사용 조건: 변수 선언의 세 번째 방법에만 적용 가능

--将id=5120的VIRTUAL_CARD表数据赋值给变量V_ROW_VIRTUAL_CARD
SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T where t.id = 5120;

설명:

쿼리 결과는 하나의 레코드만 반환할 수 있습니다.

쿼리된 테이블 필드는 테이블의 모든 필드여야 합니다.

 오류 예:

--错误举例一:查询的是所有表记录
SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T;
--错误举例二:查询的是该表的多个字段
SELECT t.id,t.name INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T;  

방법 3: 변수에 즉시 SQL 문 문자열 실행

declare/* 存储过程,不需要声明 */
  v_sql varchar2(100);
  V_ORGSEQ varchar2(100);
begin
  v_sql := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';
  --V_ORGSEQ赋值
  execute immediate v_sql INTO V_ORGSEQ;
  --打印结果
  DBMS_OUTPUT.put_line(V_ORGSEQ);
END;

3. 변수 호출

일반적으로 변수에는 할당, 논리적 판단이라는 세 가지 사용 시나리오만 있습니다. , 산술 연산;

 참고: 쿼리 열로 사용할 수 없습니다

--错误调用
select V_ORGSEQ from dual;

 %ROWTYPE을 사용하여 선언된 변수를 호출하는 방법은 무엇입니까?

 "변수명.테이블 필드" 방법을 사용하면 테이블 내 지정된 행(반환 행)의 지정된 열(임의의 열)이 나타내는 데이터를 가져올 수 있습니다.

--V_ROW_VIRTUAL_CARD赋值
SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T where t.id = 5120;
--调用
DBMS_OUTPUT.put_line(V_ROW_VIRTUAL_CARD.ID);  

추천 튜토리얼: "Oracle Tutorial"

위 내용은 Oracle 저장 프로시저에서 변수에 값을 할당하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

MySQL 및 Oracle 선택은 비용, 성능, 복잡성 및 기능 요구 사항을 기반으로해야합니다. 1. MySQL은 예산이 한정된 프로젝트에 적합하며 설치가 간단하며 중소형 응용 프로그램에 적합합니다. 2. Oracle은 대기업에 적합하며 대규모 데이터 및 높은 동시 요청을 처리하는 데있어 훌륭하게 수행하지만 구성에서는 비용이 많이 들고 복잡합니다.

Oracle의 목적 : 비즈니스 솔루션 및 데이터 관리Oracle의 목적 : 비즈니스 솔루션 및 데이터 관리Apr 13, 2025 am 12:02 AM

Oracle은 비즈니스가 제품 및 서비스를 통해 디지털 혁신 및 데이터 관리를 달성 할 수 있도록 도와줍니다. 1) Oracle은 데이터베이스 관리 시스템, ERP 및 CRM 시스템을 포함한 포괄적 인 제품 포트폴리오를 제공하여 기업이 비즈니스 프로세스를 자동화하고 최적화 할 수 있도록 도와줍니다. 2) E-BusinessSuite 및 FusionApplications와 같은 Oracle의 ERP 시스템은 엔드 투 엔드 비즈니스 프로세스 자동화를 실현하고 효율성을 높이며 비용을 절감하지만 높은 구현 및 유지 보수 비용이 있습니다. 3) Oracledatabase는 높은 동시성 및 고 가용성 데이터 처리를 제공하지만 라이센스 비용이 높습니다. 4) 성능 최적화 및 모범 사례에는 인덱싱 및 분할 기술의 합리적인 사용, 정기 데이터베이스 유지 보수 및 코딩 사양 준수가 포함됩니다.

Oracle 라이브러리 실패를 삭제하는 방법Oracle 라이브러리 실패를 삭제하는 방법Apr 12, 2025 am 06:21 AM

Oracle이 라이브러리를 작성하지 못한 후 실패한 데이터베이스를 삭제하는 단계 : Sys 사용자 이름을 사용하여 대상 인스턴스에 연결하십시오. 드롭 데이터베이스를 사용하여 데이터베이스를 삭제하십시오. 쿼리 v $ 데이터베이스는 데이터베이스가 삭제되었는지 확인합니다.

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

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

Oracle View를 내보내는 방법Oracle View를 내보내는 방법Apr 12, 2025 am 06:15 AM

Oracle View는 Expitility : Oracle 데이터베이스에 로그인하여 내보낼 수 있습니다. 뷰 이름 및 내보내기 디렉토리를 지정하여 EXP 유틸리티를 시작하십시오. 대상 모드, 파일 형식 및 테이블 스페이스를 포함한 내보내기 매개 변수를 입력하십시오. 내보내기를 시작하십시오. IMPDP 유틸리티를 사용하여 내보내기를 확인하십시오.

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

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

Oracle 로그가 가득 차면해야 할 일Oracle 로그가 가득 차면해야 할 일Apr 12, 2025 am 06:09 AM

Oracle Log 파일이 가득 차면 다음 솔루션을 채택 할 수 있습니다. 1) 오래된 로그 파일 청소; 2) 로그 파일 크기를 늘리십시오. 3) 로그 파일 그룹을 늘리십시오. 4) 자동 로그 관리를 설정합니다. 5) 데이터베이스를 다시 이용하십시오. 솔루션을 구현하기 전에 데이터 손실을 방지하기 위해 데이터베이스를 백업하는 것이 좋습니다.

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

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

See all articles

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.