¿Cómo declaro y uso variables en PL / SQL como hago en T-SQL?
En el servidor Sql, a menudo cuando estoy probando el cuerpo de un procedimiento almacenado, copio el cuerpo en SSMS, DECLARE las variables en la parte superior de la página, las configuro en algunos valores de muestra y ejecuto el cuerpo tal como está.
Por ejemplo, si mi proc es
CREATE PROC MySampleProc
@Name VARCHAR(20)
AS
SELECT @Name
Entonces mi prueba sql sería
DECLARE @Name VARCHAR(20)
SET @Name = 'Tom'
SELECT @Name
¿Cuál es el equivalente de Oracle PL / SQL a esto?
Esto es lo más cercano que he encontrado, pero estoy recibiendo "PLS-00428: se espera una cláusula INTO en esta declaración SELECT"
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
select myname from DUAL;
END;
Este es un mejor ejemplo de lo que realmente estoy tratando de hacer:
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
SELECT *
FROM Customers
WHERE Name = myname;
END;
Pero nuevamente, quiere un 'INTO' cuando realmente solo quiero que los registros se impriman en la pantalla, no se almacenen en otra tabla ...
RESUELTO:
Gracias a @Allan, lo tengo funcionando bastante bien. Oracle SQL Developer aparentemente recuerda los valores de los parámetros con los que lo suministra. PL / SQL Developer, sin embargo, no quiere tener nada que ver con esto ....
Si "Ejecuta como secuencia de comandos", cumplirá con sus valores predeterminados, pero solo devolverá los resultados como texto ASCI, no en una cuadrícula / hoja de cálculo