Wie deklariere und verwende ich Variablen in PL / SQL wie in T-SQL?
In SQL Server kopiere ich den Text oft in SSMS, wenn ich den Text einer gespeicherten Prozedur teste, DEKLARIERE die Variablen oben auf der Seite, setze sie auf einige Beispielwerte und führe den Text so aus, wie er ist.
Zum Beispiel, wenn mein proc ist
CREATE PROC MySampleProc
@Name VARCHAR(20)
AS
SELECT @Name
Dann wäre mein Test sql
DECLARE @Name VARCHAR(20)
SET @Name = 'Tom'
SELECT @Name
Was ist das Oracle PL / SQL-Äquivalent dazu?
Dies ist der nächste, den ich mir ausgedacht habe, aber ich erhalte "PLS-00428: In dieser SELECT-Anweisung wird eine INTO-Klausel erwartet".
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
select myname from DUAL;
END;
Dies ist ein besseres Beispiel dafür, was ich wirklich versuche:
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
SELECT *
FROM Customers
WHERE Name = myname;
END;
Aber auch hier will es ein "INTO", wenn wirklich nur die Datensätze auf dem Bildschirm gedruckt werden sollen und nicht in einer anderen Tabelle gespeichert werden sollen.
AUFGELÖST:
Dank @Allan funktioniert es gut genug. Anscheinend merkt sich Oracle SQL Developer die von Ihnen angegebenen Parameterwerte. PL / SQL Developer will damit jedoch nichts zu tun haben ....
Wenn Sie "Als Skript ausführen" auswählen, werden Ihre Standardeinstellungen beibehalten, es werden jedoch nur Ergebnisse als ASCI-Text zurückgegeben, nicht in einem Raster / einer Tabelle