Methoden zum Zuweisen von Werten zu Variablen: 1. Verwenden Sie „:=", um Werte direkt zuzuweisen. Die Syntax lautet „Variablenname:=Wert;“. 2. Verwenden Sie „Tabellenfeld aus Tabelle in Variable auswählen“. "-Anweisung; 3. Verwenden Sie die Anweisung „Sofortige SQL-Anweisungszeichenfolge in Variable ausführen“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.
1 3 Möglichkeiten, Variablen zu deklarieren
Aufgeteilt nach der Deklarationsmethode des Datentyps
Methode 1: Direkt deklarieren der Datentyp. Format: Variablenname-Datentyp (Größe). Variablen müssen vor dem Schlüsselwort „begin“ erstellt werden.
V_START_DATE VARCHAR2(19); v_num number;Methode 2: %TYPE-Anweisung verwenden
Format: Variablenname Tabellenname.Feldname %TYPEBedeutung: Der Datentyp der Variablen stimmt mit dem Datentyp des angegebenen Felds der angegebenen Tabelle überein
--错误用法 BEGIN v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';
Methode 3: %ROWTYPE-Deklaration verwenden Format: Variablenname Tabellenname%ROWTYPE
Bedeutung: Der Datentyp der Variablen stimmt mit dem Datentyp des angegebenen Zeilendatensatzes (alle Felder) der angegebenen Tabelle überein V_ORGSEQ BASE_ORG_INFO.ORGSEQ%TYPE;
Summary:
In the stored procedure, When declaring variables, you do not need to use the keyword "DECLARE"; Variables are not case-sensitive; Variables must be declared before verwenden.
2. 3 Möglichkeiten der Variablenzuweisung
Methode 1: direkte Zuweisung, verwenden Sie „:="
Nutzungsbedingungen:
Gilt für die ersten beiden Möglichkeiten der Variablendeklaration.--VIRTUAL_CARD表整行数据
V_ROW_VIRTUAL_CARD VIRTUAL_CARD%ROWTYPE;
Hinweis:
V_ORGID := '110';
--错误用法
V_ORGSEQ := SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO;
--正确用法
V_ORGSEQ := 'SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO';
Variante eins: Ein bestimmtes Feld der angegebenen Tabelle abfragenVerwendungsbedingungen:
Anwendbar auf die ersten beiden Methoden zum Deklarieren von Variablen. Sie können verwenden --正确用法
v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';
BEGIN
/* 具体业务 */
END;
Transformation Zwei: Alle Felder der angegebenen Tabelle abfragen
Nutzungsbedingungen: Gilt nur für die dritte Art der Variablendeklaration
--根据医疗机构ID查询对应的父机构的机构序列 SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO WHERE ORGID = (SELECT PARENTORGID FROM BASE_ORG_INFO WHERE ORGID = V_ORGID);
Beschreibung:
Das Abfrageergebnis kann nur einen Datensatz zurückgeben;
Die abgefragten Tabellenfelder müssen alle Felder der Tabelle sein.
Fehlerbeispiel:
--将id=5120的VIRTUAL_CARD表数据赋值给变量V_ROW_VIRTUAL_CARD SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T where t.id = 5120;Methode 3: SQL-Anweisungszeichenfolge sofort in Variable ausführen
--错误举例一:查询的是所有表记录
SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T;
--错误举例二:查询的是该表的多个字段
SELECT t.id,t.name INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T;
3. Aufruf von Variablen
Im Allgemeinen gibt es für Variablen nur diese drei Verwendungsszenarien: Zuweisung, logische Beurteilung , arithmetische Operationen;
Hinweis: kann nicht als Abfragespalte verwendet werden
declare/* 存储过程,不需要声明 */ v_sql varchar2(100); V_ORGSEQ varchar2(100); begin v_sql := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)'; --V_ORGSEQ赋值 execute immediate v_sql INTO V_ORGSEQ; --打印结果 DBMS_OUTPUT.put_line(V_ORGSEQ); END;
Wie rufe ich mit %ROWTYPE deklarierte Variablen auf? Mit der Methode „Variablenname. Tabellenfeld“ können Sie die Daten abrufen, die durch die angegebene Spalte (beliebige Spalte) der angegebenen Zeile (Rückgabezeile) in der Tabelle dargestellt werden. --错误调用
select V_ORGSEQ from dual;
Empfohlenes Tutorial: „
“
Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es zum Zuweisen von Werten zu Variablen in gespeicherten Oracle-Prozeduren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!