Heim > Datenbank > MySQL-Tutorial > Gespeicherte SQL-Server-Prozedur

Gespeicherte SQL-Server-Prozedur

伊谢尔伦
Freigeben: 2016-12-03 10:23:48
Original
1504 Leute haben es durchsucht

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 Prozedur

Create Proc Stored Procedure Name

as

Codeblock

Go

- -exec bedeutet Ausführung. Gespeicherte Prozedur ausführen

Exec Name der gespeicherten Prozedur

---------Gespeicherte Prozedur ändern

proc ändern hehe ---Änderung ändern, Bedeutung ändern

als

Schülernummer auswählen, chinesische Punktzahl aus Fengshu

Los

exec hehe


-------------Mehrere Tabellen abfragen

proc chaxun erstellen

als

beginnen

wählen Sie * aus Fenshu

wählen Sie * aus Jiaoshi

wählen Sie * aus Xuesheng

Ende

Gehe

exec chaxun

-------------Mit Parametern Die gespeicherte Prozedur

proc chucunguocheng erstellen

@yican varchar(20), @yican bedeutet formale Parameter

@ercan varchar(20)

as

Anfang

Drucken @yican+@ercan

Ende

Gehen

exec 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 erstellen

als

begin

declare @y int

declare @s int

declare @w int

declare @zongshu int

select @y=COUNT(*) from fenshu where student number=@xuehao and Chinesisch-Punktzahl>=60

wählen Sie @s=COUNT(*) aus Fenshu, wo Studenten-ID=@xuehao und Mathe-Punktzahl>=60

wählen Sie @w=COUNT(*) aus Fenshu, wo Schülernummer=@xuehao und Englisch-Score>=60

set @zongshu=@y+@s+@w

if @zongshu=3

print 'Excellent'

wenn @zongshu =2

drucke „Abgeschlossen“

wenn @zongshu=1

drucke „Nicht abgeschlossen“

wenn @zongshu =0

       print 'Input error'

end

go

exec biye 1

Das Ergebnis ist:

--------Umfassende Übungen

(Umfassende Schulung gespeicherter Prozeduren) Gespeicherte SQL-Server-Prozedur

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 erstellen

go

Tabelle 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'

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage