Gespeicherte Prozedur
[Erstellen dient zum Erstellen einer gespeicherten Prozedur, Ändern bedeutet zum Ändern oder Ändern einer gespeicherten Prozedur]
[Verwenden Sie Erstellen, wenn Sie eine gespeicherte Prozedur schreiben Wenn das gespeicherte Prozedurprogramm zum ersten Mal geändert wird, ersetzen Sie „create“ durch „alter“ und führen Sie es dann aus eine gespeicherte Prozedur:
--(Prozedur kann als proc abgekürzt werden) proc bedeutet Programm und Schritt. Gefolgt vom Namen der gespeicherten ProzedurCreate Proc Stored Procedure Name
asCodeblock
Go- -exec bedeutet Ausführung. Gespeicherte Prozedur ausführen Exec Name der gespeicherten Prozedur ---------Gespeicherte Prozedur ändernproc ändern hehe ---Änderung ändern, Bedeutung ändern
alsSchülernummer auswählen, chinesische Punktzahl aus Fengshu
Losexec hehe
-------------Mehrere Tabellen abfragen
als
beginnenwählen Sie * aus Fenshuwählen Sie * aus Jiaoshiwählen Sie * aus Xuesheng EndeGeheexec chaxun-------------Mit Parametern Die gespeicherte Prozedur
proc chucunguocheng erstellen@yican varchar(20), @yican bedeutet formale Parameter
@ercan varchar(20)asAnfangDrucken @yican+@ercanEndeGehenexec chucunguocheng 'Hallo','China 'Beispielfrage: -------Geben Sie die Studentennummer ein, um festzustellen, ob der Student ausgezeichnet ist, seinen Abschluss gemacht hat oder nicht (das Bestehen von drei Kursen gilt als ausgezeichnet, das Bestehen von zwei Kursen als Abschluss). )alter proc biye@xuehao int – Eingabevariable erstellenalsbegindeclare @y intdeclare @s intdeclare @w intdeclare @zongshu intselect @y=COUNT(*) from fenshu where student number=@xuehao and Chinesisch-Punktzahl>=60wählen Sie @s=COUNT(*) aus Fenshu, wo Studenten-ID=@xuehao und Mathe-Punktzahl>=60wählen Sie @w=COUNT(*) aus Fenshu, wo Schülernummer=@xuehao und Englisch-Score>=60set @zongshu=@y+@s+@wif @zongshu=3 print 'Excellent'wenn @zongshu =2 drucke „Abgeschlossen“wenn @zongshu=1drucke „Nicht abgeschlossen“wenn @zongshu =0 print 'Input error'endgoexec biye 1Das Ergebnis ist:
--------Umfassende Übungen
(Umfassende Schulung gespeicherter Prozeduren)
Erstellen Sie eine Warentabelle: Nr., Name von Waren, Einheit, Preis, Lagermenge, Bemerkungen. (10 Daten) Kaufen Sie nach das Produkt. Wenn das Produkt bereits vorhanden ist, erhöhen Sie die Menge. Andernfalls fügen Sie es der Datenbanktabelle hinzu. Versand, wenn jemand die Ware haben möchte, prüfen Sie, ob die Menge ausreicht und reduzieren Sie den Lagerbestand ausreichend, andernfalls informieren wir Sie über den Mangel. Löschen Sie die Daten in der Datenbank jederzeit basierend auf dem Namen. Wenn nicht, werden wir Sie benachrichtigen. ------------Datenbank und Datentabelle erstellen und Daten einfügen----------Datenbanknotizbuch erstellengoTabelle bijiben erstellen( number int, name nvarchar(20 ),Bemerkungen varchar(20),Preis int,Lagerbestand int,Einheit nvarchar(10)) go --------(zufällige Rangfolge)------in Bijiben-Werte einfügen(1,'Apple','macbook',12000,10, 'Vereinigte Staaten')in Bijiben-Werte einfügen(2,'Acer','acer',3500,20,'Taiwan, China')In Bijiben-Werte einfügen(3,' Asus' ,'asus',3500,25,'China')in bijiben-Werte einfügen (4,'Dell','dell',4300,30,'United States')In Bijiben-Werte einfügen (5,'Shenzhou','Hass',4000,20,'China')In Bijiben-Werte einfügen(6,'Lenovo','Lenovo',4200,30,' China') in Bijiben-Werte einfügen(7,'HP','ph',3600,20,'USA')In Bijiben-Werte einfügen(8,'Samsung',' Samsung', 3700,10,'Japan')In Bijiben-Werte einfügen(9,'Sony','Sony',7000,10,'Japan')In Bijiben-Werte einfügen (10, 'Toshiba','toshiba',3200,10,'Japan') select *from bijiben--------- --- ----------Einkauf----------create proc jinhuo --Create eine gespeicherte Einkaufsprozedur @bianhao int, --Einkaufsnummer@bjbn nvarchar(20),--Notizbuchname@beizhu nvarchar(20),-- Bemerkungen@jiage int,--price@jinhuo int,--wie viele Einheiten @danwei nvarchar(20)--unit als
beginnen
deklariere @ybjbn nvarchar(20),@ykc int --@ykc ist die ursprüngliche Inventarnummer in den Daten
wähle @ybjbn=count(name) aus bijiben, wobei name=@bjbn
wenn @ybjbn=0 – Wenn keine Eingabedaten in der Datenbank vorhanden sind
beginnen
in Bijiben-Werte einfügen(@bianhao,@bjbn,@beizhu,@jiage,@ jinhuo,@danwei)
print 'Neuer Computer erfolgreich hinzugefügt! '
end
else if @ybjbn=1 --Wenn Eingabedaten in der Datenbank vorhanden sind
begin
select @ykc=stock from bijiben where name=@bjbn
set @ykc=@ykc+@jinhuo
update bijiben set inventory=@ykc where name=@bjbn
print'Das Computerinventar wurde hinzugefügt erfolgreich ! '
end
end
go
exec jinhuo 11,'Dell','dell',4200,10,'United States'
----------------------Versand----------------------- -
create proc chuhuo --Erstellen Sie eine gespeicherte Versandprozedur
@name nvarchar(20), --Der Name des zu versendenden Notizbuchs
@shuliang int - -Aus Warenmenge
als
beginnen
deklarieren @ygeshu int,@hgeshu int --@ygeshu ist der ursprüngliche Bestand der Datenbank, @hgeshu der verbleibende Bestand nach der Transaktion
wählen Sie @ygeshu=Inventar von Bijiben, wobei Name=@Name
wenn @shuliang>@ygeshu – Wenn die Versandmenge größer ist als die Inventarmenge
print'Leider ist der Lagerbestand nicht ausreichend ~~'
else @name --Ändern Sie die Inventarnummer nach der Transaktion
Print 'Transaktion erfolgreich! '
end
end
go
exec chuhuo 'Apple',11
--------- ------------------Notizbuchdaten löschen------
proc qingchu erstellen
@scbjbn nvarchar(20 ) - -Der Name des zu löschenden Notizbuches
as
begin
deklarieren @sgeshu int --Die Anzahl der zu findenden Notizbücher
select @ sgeshu =COUNT(*) aus Bijiben, wobei Name=@scbjbn
wenn @sgeshu=1
beginnt
aus Bijiben löschen, wobei Name=@scbjbn
print'Die Notizbuchdaten wurden erfolgreich gelöscht! '
end
if @sgeshu=0
print 'Kein Notizbuch mit diesem Namen gefunden~~'
end
exec qingchu 'Apfel'