Was ist eine gespeicherte Prozedur?
Eine gespeicherte Prozedur ist ein oder mehrere SQL-Befehle, die als ausführbare Objekte in der Datenbank gespeichert sind.
Laienhaft ausgedrückt: Eine gespeicherte Prozedur ist eigentlich eine Reihe von SQL-Anweisungen, die bestimmte Vorgänge abschließen können.
Warum dann gespeicherte Prozeduren verwenden?
1. Gespeicherte Prozeduren werden nur dann kompiliert, wenn sie in Zukunft ausgeführt werden. Im Allgemeinen werden SQL-Anweisungen bei jeder Ausführung einmal neu kompiliert, sodass dies möglich ist Verbessern Sie die Ausführungsgeschwindigkeit der Datenbank.
2. Bei der Ausführung komplexer Vorgänge in der Datenbank können die komplexen Vorgänge in gespeicherten Prozeduren gekapselt und in Verbindung mit der von der Datenbank bereitgestellten Transaktionsverarbeitung verwendet werden.
3. Gespeicherte Prozeduren können wiederverwendet werden, was die Arbeitsbelastung von Datenbankentwicklern verringern kann.
4. Hohe Sicherheit, Sie können festlegen, dass nur bestimmte Benutzer das Recht haben, die angegebene gespeicherte Prozedur zu verwenden.
Wie verwende ich die gespeicherte Prozedur?
Im Folgenden wird die Student-Tabelle verwendet, um mehr über gespeicherte Prozeduren zu erfahren. Da wir die einfache Verwendung gespeicherter Prozeduren verstehen möchten, sind alle Beispiele sehr einfach.
Gespeicherte Prozedur ohne Parameter:
Wählen Sie alle Informationen in der Student-Tabelle aus,
create proc StuProc as //此处 as 不可以省略不写 begin //begin 和 end 是一对,不可以只写其中一个,但可以都不写 select S#,Sname,Sage,Ssex from student end go
Gespeicherte Prozeduren mit Parametern:
Global Variable
Globale Variablen werden auch als externe Variablen bezeichnet. Sie werden außerhalb der Funktion definiert. Ihr Gültigkeitsbereich beginnt an der Stelle, an der die Variable definiert ist, und endet am Ende der Programmdatei.
Wählen Sie die Schülerinformationen des angegebenen Namens aus:
create proc StuProc @sname varchar(100) as begin select S#,Sname,Sage,Ssex from student where sname=@sname end go exec StuProc '赵雷' //执行语句
Das Obige dient dazu, der Variablen extern einen Wert zuzuweisen, oder Sie können den Standardwert für die Variable direkt intern festlegen
create proc StuProc @sname varchar(100)='赵雷' as begin select S#,Sname,Sage,Ssex from student where sname=@sname end go exec StuProc
Sie können auch die Ausgabe verwenden, um den Inhalt von Variablen auszugeben.
create proc StuProc @sname varchar(100), @IsRight int output //传出参数 as if exists (select S#,Sname,Sage,Ssex from student where sname=@sname) set @IsRight =1 else set @IsRight=0 go declare @IsRight int exec StuProc '赵雷' , @IsRight output select @IsRight
Die oben genannten sind globale Variablen.
Lokale Variablen werden auch interne Variablen genannt. Lokale Variablen werden innerhalb der Funktion definiert. Ihr Gültigkeitsbereich ist auf die Funktion innerhalb der Funktion beschränkt und es ist illegal, solche Variablen nach dem Verlassen der Funktion zu verwenden.
Die Definition lokaler Variablen: Sie müssen mit dem Declare-Befehl festgelegt werden, bevor sie verwendet werden können. Deklarieren Sie {@Variablennamen-Datentyp.🎜>Die Zuweisungsmethode lokaler Variablen: Set{@Variablenname=Ausdruck} oder select{@variable name=expression}
Anzeige lokaler Variablen: select @variable name
create proc StuProc as declare @sname varchar(100) set @sname='赵雷' select S#,Sname,Sage,Ssex from student where sname=@sname go exec StuProc
create proc StuProc as declare @sname varchar(100) set @sname=(select Sname from student where S#=01) select @sname go exec StuProc