TurboSQL Guide CREATE PROCEDURE Statement |
Previous Top Next |
Syntax
CREATE PROCEDURE function_name([:parameter_name data_type]...) AS statement
CREATE PROCEDURE function_name([:parameter_name data_type]...) AS BEGIN statement [statement]... END
CREATE PROCEDURE function_name([:parameter_name data_type]...) AS EXTERNAL NAME [namespace_name.class_name].method_name,assembly_name
Beschreibung
namespace_name.class_name bezeichnet eine öffentliche (public) Klasse der Assembly.
method_name bezeichnet den Namen einer statischen public Funktion der Assembly. Die Funktion muss öffentlich (public) und nicht überladen (overloaded) sein . Die Parameter müssen mit denen der TurboSQL Funktion übereinstimmen (siehe "Parameter mit .NET Assemblies austauschen").
Beispiel
CREATE PROCEDURE Insert(:LastName WCHAR(40), :Salary INTEGER, :Department WCHAR(40) AS BEGIN
INSERT INTO Departments ([Name]) VALUES(:Department)
INSERT INTO Employees (LastName, Salary, Department) VALUES(:LastName, :Salary, :Department)
END
Das folgende Beispiel setzt die öffentliche, statische Methode Send der öffentlichen Klasse SmtpClient im Namensraum (namespace) Email der Assembly Email.dll voraus.Die Assembly muss im Verzeichnis der Datenbankdatei (tdbd) untergebracht sein.
CREATE PROCEDURE SendEmail(:Address WCHAR(100), :Subject WCHAR(100), :Content WCHAR(100)) AS
EXTERNAL NAME [Email.SmtpClient].Send,Email
Kompatibilität
Diese Anweisung ist nur in TurboDB Managed verfügbar.