Bei der Entwicklung eines Datenbanksystems werden häufig viele gespeicherte Verfahren geschrieben. Um das Format zu vereinen und den Entwicklungsprozess zu vereinfachen, habe ich einige gespeicherte Verfahren geschrieben, um gespeicherte Verfahren automatisch zu generieren. Hier ist eine kurze Einführung in sie. Einer wird verwendet, um den Einfügenprozess zu generieren, und der andere wird verwendet, um den Aktualisierungsprozess zu generieren.
Sp_geninsert
Nach diesem Prozess erzeugt es einen vollständigen Einfügungsvorgang für die angegebene Tabelle. Wenn die ursprüngliche Tabelle eine Identifikationsspalte hat, müssen Sie die Anweisung setIdntity_inserton im generierten Prozess manuell löschen.
Die Syntax ist wie folgt
sp_geninsert <TableName>, <gespeichertesProcedureName>
Nehmen Sie als Beispiel die Northwind -Datenbank
sp_geninsert'Peorees ',' Ins_EMPLE '' '
Schließlich wird ein gespeicherter Vorgang erstellt. Damit können Sie weiterentwickelt werden.
Sp_genupdate
Es generiert ein Update -gespeicherter Prozedur für eine Tabelle. Die Syntax ist wie folgt:
SP_GENUPDATE <TABLENAME>, <PRIMEKEY>, <StoredProcedureName>
Nehmen Sie als Beispiel die Northwind -Datenbank
SP_GENUPDATE'APHEMES ',' EmployeeId ',' upd_Pelyees ''
Generieren Sie nach dem Laufen die gespeicherte Prozedur wie unten gezeigt:
CreateReProcedureupd_EMPOTEES
@AmpledEIdint
@Lastnamenvarchar (40),
@Firstnamenvarchar (20),
@Titlenvarchar (60),
@Titleofcourtesynvarchar (50),
@Birthdatedatetime,
@Hiredatedatetime,
@Addressnvarchar (120),
@CityNvarchar (30),
@Regionnvarchar (30),
@Postalcodenvarchar (20),
@Countrynvarchar (30),
@Homephonenvarchar (48),
@Extesionnvarchar (8),
@Photeimage,
@Notesntext,
@Reportstoint,
@Photopathnvarchar (510)
ALS
UpdatePoyeses
SATZ
LastName =@Lastname,
FirstName =@FirstName,
Titel =@Titel,
Titleofcourtesy =@titleofcourtesy,
BirthDate =@birthdate,
Hiredate =@Hiredate,
Adresse =@Adresse,
Stadt =@City,
Regin =@regin,
Postalcode =@postcode,
Land =@Country,
Homephone =@homephone,
Erweiterung =@Erweiterung,
Foto =@foto
Notizen =@Notes,
Reportsto =@reportsto,,
Photopath =@Photopath