


So tätigen Sie einen Aufruf mit Parametern in einer gespeicherten Oracle-Prozedur
Apr 25, 2023 am 09:01 AMDie gespeicherte Prozedur von Oracle ist eine vorkompilierte, wiederverwendbare SQL-Anweisung, die in der Datenbank gespeichert wird und jederzeit ausgeführt und aufgerufen werden kann. In gespeicherten Oracle-Prozeduren können Sie Parameter verwenden, um einen flexibleren Aufruf zu erreichen. In diesem Artikel wird erläutert, wie Parameter in gespeicherten Oracle-Prozeduraufrufen verwendet werden.
Erstellen Sie eine gespeicherte Prozedur und definieren Sie Parameter.
In Oracle-Datenbanken erfordert die Erstellung einer gespeicherten Prozedur die Verwendung der Anweisung CREATE PROCEDURE
. Hier ist ein einfaches Beispiel: CREATE PROCEDURE
语句。以下是一个简单的例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
上面的代码创建了一个名为 get_employee_details
的存储过程,该存储过程具有四个参数:employee_id
(IN 类型的输入参数)、employee_name
、hire_date
和 salary
(OUT 类型的输出参数)。存储过程的作用是根据 employee_id
参数查询员工的详细信息,并将查询结果存储在输出参数中。
调用存储过程
当存储过程创建成功后,就可以使用 EXECUTE
语句来调用它。以下是调用存储过程的代码:
1 2 3 4 5 6 7 8 9 10 |
|
在上面的代码中,首先声明三个变量 emp_name
、emp_hire_date
和 emp_salary
,然后通过调用存储过程 get_employee_details
并传入参数 101
,同时将输出参数赋值给上述声明的变量。最后,使用 DBMS_OUTPUT
包中的 PUT_LINE
函数输出查询结果。
需要注意的是,DECLARE
和 BEGIN
语句是必须的,因为它们表示了一个代码块的起始和结束。在代码块中,可以声明变量、调用存储过程、执行各种 SQL 语句等。
参数的类型
在定义存储过程的参数时,可以使用以下类型:
-
IN
:表示输入参数,这些参数用于向存储过程中传递值。 -
OUT
:表示输出参数,这些参数用于从存储过程中返回值。 -
IN OUT
:表示既是输入参数又是输出参数。这些参数既能够向存储过程中传递值,又能从存储过程中返回值。
除了上述类型外,还可以使用 NOCOPY
rrreee
get_employee_details
, die vier Parameter hat: employee_id
(Eingabeparameter vom Typ IN), employee_name
, hire_date
und salary
(Ausgabeparameter vom Typ OUT). Die Funktion der gespeicherten Prozedur besteht darin, die detaillierten Informationen des Mitarbeiters basierend auf dem Parameter employee_id
abzufragen und die Abfrageergebnisse im Ausgabeparameter zu speichern. Gespeicherte Prozedur aufrufenNachdem die gespeicherte Prozedur erfolgreich erstellt wurde, können Sie sie mit der Anweisung EXECUTE
aufrufen. Das Folgende ist der Code, der die gespeicherte Prozedur aufruft: - rrreee
- Deklarieren Sie im obigen Code zunächst die drei Variablen
emp_name
,emp_hire_date
undemp_salary
, und dann Durch Aufrufen der gespeicherten Prozedurget_employee_details
und Übergabe des Parameters101
werden die Ausgabeparameter den oben deklarierten Variablen zugewiesen. Verwenden Sie abschließend die FunktionPUT_LINE
im PaketDBMS_OUTPUT
, um die Abfrageergebnisse auszugeben. - Es ist zu beachten, dass die Anweisungen
DECLARE
undBEGIN
notwendig sind, da sie den Anfang und das Ende eines Codeblocks darstellen. Im Codeblock können Sie Variablen deklarieren, gespeicherte Prozeduren aufrufen, verschiedene SQL-Anweisungen ausführen usw. - Parametertypen
IN
: stellt Eingabeparameter dar, die zur Übergabe von Werten an die gespeicherte Prozedur verwendet werden .
OUT
: Stellt Ausgabeparameter dar, die zur Rückgabe von Werten aus gespeicherten Prozeduren verwendet werden. 🎜🎜IN OUT
: Zeigt an, dass es sich sowohl um einen Eingabeparameter als auch um einen Ausgabeparameter handelt. Diese Parameter können sowohl Werte an gespeicherte Prozeduren übergeben als auch Werte von diesen zurückgeben. 🎜🎜🎜Zusätzlich zu den oben genannten Typen können Sie auch das Schlüsselwort NOCOPY
verwenden, um Parameter zu definieren, wodurch das Kopieren des Speichers während der Parameterübertragung vermieden und dadurch die Ausführungseffizienz verbessert werden kann. 🎜🎜Anwendungsszenarien🎜🎜In der tatsächlichen Entwicklung ist der Parameteraufruf gespeicherter Prozeduren sehr verbreitet und kann in mehreren Szenarien angewendet werden. Im Folgenden sind einige typische Anwendungsszenarien aufgeführt: 🎜🎜🎜Parameterisierte Abfrage: In der gespeicherten Prozedur können Eingabeparameter definiert werden, sodass die gespeicherte Prozedur unterschiedliche Abfrageanweisungen basierend auf unterschiedlichen Eingabeparametern ausführen und so parametrisierte Abfragen realisieren kann. 🎜🎜Batch-Betrieb: Im gespeicherten Prozess können Sie Eingabe- und Ausgabeparameter definieren, sodass der gespeicherte Prozess Batch-Vorgänge basierend auf den Eingabeparametern ausführen und gleichzeitig die Verarbeitungsergebnisse in den Ausgabeparametern speichern kann, wodurch die Kosten reduziert werden Anzahl der Folgeoperationen. 🎜🎜Transaktionsverarbeitung: In der gespeicherten Prozedur können Eingabeparameter verwendet werden, um die Übermittlung oder das Rollback der Transaktion zu steuern und so eine flexiblere Transaktionsverarbeitungsmethode zu erreichen. 🎜🎜🎜Zusammenfassung🎜🎜In diesem Artikel wird die Methode zur Verwendung von Parameteraufrufen in gespeicherten Oracle-Prozeduren vorgestellt. Typischerweise können parametrisierte Aufrufe gespeicherter Prozeduren die Wiederverwendbarkeit und Flexibilität von Code erheblich verbessern und Anwendungen mit flexibleren Funktionen ausstatten. Daher sollten in der tatsächlichen Entwicklung parametrisierte Aufrufe gespeicherter Prozeduren vollständig genutzt werden, um die Systemleistung und Wartbarkeit zu verbessern. 🎜Das obige ist der detaillierte Inhalt vonSo tätigen Sie einen Aufruf mit Parametern in einer gespeicherten Oracle-Prozedur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie verwende ich Cursor in PL/SQL, um mehrere Datenzeilen zu verarbeiten?

Was sind die häufig verwendeten Segmente in Oracle -Datenbanken?

Was sind die Tools für Leistungstests für Oracle -Datenbanken?

Was sind die Oracle Database Installation Client -Tools?

So laden Sie die Oracle -Datenbank herunter

Welche Standard -Tablespaces bietet die Oracle -Datenbank?

Wie erstelle ich Benutzer und Rollen in Oracle?

Wie verwende ich Oracle -Datenmaskierung und -sensabschlüsselung, um sensible Daten zu schützen?
