AS之前定义的是调用存储过程时的传入参数,
AS之后定义的内部定义的变量
区别:前者外部传入,后者内部赋值
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
变量声明
BEGIN
< procedure_body >
END procedure_name;
声明方式:
1:ename varchar(20);
2:ename emp.sal%type;
3:ename emp%rowtype;
该变量数据类型与emp表的指定行的所有字段类型一致
说明:
变量的声明必须在begin之前进行
变量后面不能直接跟sql语句
变量的声明和赋值可以一块进行
变量赋值方式
方式1:前两种声明方式
v_flow varchar(10) :='306';
错误用法(声明赋值一起来)
v_ename varchar(10) :=select ename from emp;
正确:v_ename :='select ename from emp';
方式2:select 表字段 into 变量 from 表名(1,2)
方式3:select * into from 表(only 3);