저장 프로세스란 무엇입니까?
4286 단어 저장 프로세스
자주 사용되거나 복잡한 작업을 SQL 문장으로 미리 작성하고 지정한 이름으로 저장하면 앞으로 데이터베이스에 정의된 저장 프로세스와 같은 기능을 제공하는 서비스를 제공할 때excute를 호출하면 자동으로 명령을 완성할 수 있습니다.
여기까지 말하자면 저장 과정은 한 무더기SQL의 문장일 뿐이라는 질문이 있을지도 모른다.
Microsoft는 왜 이 기술을 추가해야 합니까?
그렇다면 저장 과정은 일반적인 SQL 문장과 어떤 차이가 있습니까?
스토리지 프로세스의 이점:
1. 저장 프로세스는 창조할 때만 컴파일하고 이후에 매번 저장 프로세스를 실행할 때마다 다시 컴파일할 필요가 없다. 일반SQL 문장은 실행할 때마다 한 번씩 컴파일하기 때문에 저장 프로세스를 사용하면 데이터베이스 실행 속도를 높일 수 있다.
2. 데이터베이스에 대해 복잡한 조작을 할 때(예를 들어 여러 테이블에 Update, Insert,Query,Delete를 할 때) 이 복잡한 조작을 저장 프로세스로 봉하여 데이터베이스에서 제공하는 사무 처리와 결합하여 사용할 수 있다.
3. 저장 프로세스를 재사용할 수 있어 데이터베이스 개발자의 업무량을 줄일 수 있다.
4. 보안 수준이 높아 지정된 스토리지 프로세스에 대해 이 사용자만 사용하도록 설정할 수 있습니다.
저장 프로세스의 종류:
1. 시스템 스토리지 프로세스: sp시작은 시스템의 각종 설정을 진행하는 데 쓰인다.정보를 얻다.sp 와 같은 관련 관리 작업help는 지정된 대상에 대한 정보를 얻는 것이다
2. 스토리지 프로세스를 XP 로 확장운영체제에서 제공하는 기능을 호출하기 위해 시작
exec master..xp_cmdshell 'ping 10.8.16.1'
3. 사용자 정의 저장 프로세스, 이것이 우리가 가리키는 저장 프로세스이다
일반 형식
Create procedure procedue_name
[@parameter data_type][output]
[with]{recompile|encryption}
as
ql_statement
설명:
output: 이 인자가 되돌아올 수 있음을 표시합니다
with {recompile|encryption}
recompile: 이 저장 프로세스를 실행할 때마다 다시 컴파일하는 것을 표시합니다
encryption: 생성된 저장 프로세스의 내용이 암호화됩니다
예:
표 북의 내용은 다음과 같다.
001 C $30
002 PowerBuilder $52
인스턴스 1: 쿼리 테이블 북의 컨텐츠 저장 프로세스
create proc query_book
as
select * from book
go
exec query_book
실례2: 테이블 북에 기록을 넣고 이 테이블에 있는 모든 책의 총 금액을 조회합니다
Create proc insert_book
@param1 char(10),@param2 varchar(20),@param3 money,@param4 money output
with encryption ---------
as
insert book( , , ) Values(@param1,@param2,@param3)
select @param4=sum( ) from book
go
실행 예:
declare @total_price money
exec insert_book '003','Delphi ',$100,@total_price
print ' '+convert(varchar,@total_price)
go
저장 프로세스의 3가지 반환 값:
1. 리턴으로 정수 되돌리기
2. output 형식으로 매개 변수를 되돌려줍니다
3.Recordset
반환 값의 차이점:
output과return은 일괄 프로그램에서 변수로 수신할 수 있고,recordset은 일괄 프로그램을 실행하는 클라이언트로 전송됩니다
인스턴스 3: 두 개의 테이블이 Product, Order이고 테이블의 내용은 다음과 같습니다.
Product
001 30
002 50
003 100
Order
001 $30
002 $50
003 $4
번호에 따라 연결 조건을 실현하고 두 테이블을 하나의 임시 테이블로 연결하십시오. 이 테이블은 번호만 포함합니다.제품 이름.고객 이름.계약금총 금액,
총 금액 = 계약금* 주문수, 임시표는 저장 과정 중
코드는 다음과 같습니다.
Create proc temp_sale
as
select a. ,a. ,b. ,b. ,a. * b. as
into #temptable from Product a inner join Order b on a. =b.
if @@error=0
print 'Good'
else
print 'Fail'
go
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 호출 Oracle 스토리지 프로세스 상세 정보Java 호출 Oracle 스토리지 프로세스 상세 정보 단계: 1. Oracle 스토리지 프로세스 작성 2. 데이터베이스 작성 연결 도구 클래스 얻기 3. 간단한 응용 프로그램 호출 저장 프로세스 작성 구현: 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.