기관실 요금 - 저장 프로세스 + 사무
4960 단어 VB.NET
1. 저장 프로세스
1. 정의:
저장 프로세스는 대형 데이터베이스 시스템에서 특정 기능을 완성하기 위한 SQL 문장 집합을 데이터베이스에 저장하고 첫 번째 컴파일을 거친 후에 다시 호출하여 다시 컴파일할 필요가 없다. 사용자는 저장 프로세스의 이름을 지정하고 파라미터를 제시한다(이 저장 프로세스에 파라미터가 있다면).저장 프로세스는 데이터베이스 중의 중요한 대상으로 어떤 디자인이 좋은 데이터베이스 응용 프로그램이든 저장 프로세스를 사용해야 한다.
2. 사용:
(1) 저장 프로세스 생성
create procedure sp_name
@[ ] [ ],@[ ] [ ]
as
begin
.........
end
(2) 메모리 프로세스 호출 :exec sp_name [ ]
(3) 스토리지 프로세스 제거1. 기본 문법:
drop procedure sp_name
2.주의 사항(1) 한 저장 과정 중 다른 저장 프로세스를 삭제할 수 없고 다른 저장 프로세스만 호출할 수 있다.
3. 장단점:
이점:
(1) 중복 사용;(2) 네트워크 데이터 감소;(3) 안전성.
단점:
(1) 디버깅이 번거롭다(2) 이식 문제, 데이터베이스 쪽 코드는 당연히 데이터베이스와 관련이 있다.하지만 공사형 프로젝트라면 이식 문제는 거의 없다.(3) 백엔드 코드는 실행 전에 컴파일된 것이기 때문에 인용 관계를 가진 대상이 바뀔 때 영향을 받은 저장 프로세스, 패키지는 다시 컴파일해야 한다.(4) 만약에 한 프로그램 시스템에서 저장 프로세스를 대량으로 사용한다면 프로그램이 납품될 때 사용자의 수요가 증가함에 따라 데이터 구조의 변화를 초래할 수 있다. 그 다음은 시스템과 관련된 문제이다. 마지막으로 사용자가 이 시스템을 유지하려면 매우 어렵고 대가가 전무후무하기 때문에 유지하기가 더욱 번거롭다고 할 수 있다.
사무
정의:
사무는 일반적으로 해야 할 일이나 해야 할 일을 가리킨다.컴퓨터 용어로는 데이터베이스에 있는 각종 데이터 항목을 방문하고 업데이트할 수 있는 프로그램 실행 단원(unit)을 가리킨다.관계 데이터베이스에서 하나의 업무는 하나의 SQL 문장, 하나의 그룹의 SQL 문장 또는 전체 프로그램이 될 수 있다.
사무는 원자성, 일치성, 격리성, 지속성 등 네 가지 속성을 가져야 한다.이러한 네 가지 속성을 일반적으로 ACID 특성이라고 합니다.
3. 저장 프로세스 + 사무 실현 등록:
ALTER PROCEDURE [dbo].[PROC_Regist]
-- Add the parameters for the stored procedure here
@Cardno char(10),
@StudentNo char(10),
@Cash varchar(50),
@Type char(50),
@Status char(50),
@registDate char(10),
@registTime char(10),
@Holder char(10),
@StudentName char(10),
@Sex char(10),
@Department char(10),
@Grade char(10),
@onClass char(10),
@reDate char(10),
@reTime char(10),
@AddMoney char(10),
@reHolder char(10)
AS
BEGIN
DECLARE @Err1 INT,@Err2 INT,@Err3 INT--
BEGIN TRANSACTION--
--
insert into T_CardInfo (Cardno ,Cash,Type,Status ,registDate ,registTime ,Holder) values (@Cardno,@Cash,@Type,@Status,@registDate ,@registTime ,@Holder)
set @err1=@@error-- , 0
--
insert into T_StudentInfo (Cardno,StudentNo,StudentName ,Sex,Department ,Grade,onClass,Holder)values (@Cardno,@StudentNo,@StudentName,@Sex,@Department ,@Grade,@onClass,@Holder)
set @Err2=@@error-- , 0
--
insert into T_RechargeInfo (Cardno,AddMoney,ReDate,ReTime,Status,reHolder)values (@cardno,@reDate,@reTime,@AddMoney,@Status,@reHolder)
set @err3=@@ERROR-- , 0
if @Err1=0 and @Err2=0 and @err3=0-- 0
COMMIT TRANSACTION--
ELSE
ROLLBACK TRANSACTION-- ,
END
D-레이어 코드 표시:
Dim sql As String = "PROC_Regist" '
Dim sqlparams As SqlParameter() = {New SqlParameter("@Cardno", e_stucard.Cardno),
New SqlParameter("@Type", e_stucard.Type),
New SqlParameter("@Status", e_stucard.Status),
New SqlParameter("@Holder", e_stucard.Holder),
New SqlParameter("@StudentNo", e_stucard.Studentno),
New SqlParameter("@StudentName", e_stucard.StudentName),
New SqlParameter("@Grade", e_stucard.Grade),
New SqlParameter("@Department", e_stucard.Department),
New SqlParameter("@onClass", e_stucard.onClass),
New SqlParameter("@Sex", e_stucard.Sex),
New SqlParameter("@registDate", e_stucard.registDate),
New SqlParameter("@registTime", e_stucard.registTime),
New SqlParameter("@reDate", e_recharge.reDate),
New SqlParameter("@reTime", e_recharge.reTime),
New SqlParameter("@Cash", e_stucard.Cash),
New SqlParameter("@AddMoney", e_recharge.AddMoney),
New SqlParameter("@reHolder", e_recharge.reHolder)}
Dim flag As Boolean
flag = sqlhelper.ExecAddDelUpdate(sql, CommandType.StoredProcedure, sqlparams)
Return flag
4. 총결산
저장 프로세스를 사용할 때 많은 문제에 부딪혔지만 모두 순조롭게 해결되었다. 많은 세부적인 문제가 있다. 깨달음은 코드를 두드리는 데 머리를 써야 하고 세심하고 진지해야 한다는 것이다. 그렇지 않으면 작은 실수로 인해 우리는 많은 시간을 잃게 될 것이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
VB. 분석NET 메소드 생성여기서 저는 주로 VB를 간단히 소개합니다.NET 메소드 생성에는 생성 메소드, 기본 속성 등에 대한 설명이 포함됩니다.VB에서NET에서 방법은 VB6.0과 마찬가지로 Sub 또는 Function 키워드를 사용할 수...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.