语法:
/*[DECLARE
declarations]
BEGIN
executable statements
[EXCEPTION
handlers]
END;*/
declarations]
BEGIN
executable statements
[EXCEPTION
handlers]
END;*/
declare
v_age number; ---声明变量或赋值
v_age1 number:=120;
v_age2 number:=&age; --从键盘输入
begin
v_age:=20; --执行部分(逻辑,输出...)
dbms_output.put_line(v_age ||'---->'|| v_age1||'---->'|| v_age2); --输出结果
end;
declare
age constant number:=80; --常量
age1 number default 200; --默认值
begin
-- age:=100; -->重新赋值(不可以的)常量
dbms_output.put_line(age||'--->'||age1);
end;
--查询SCOTT员工的编号,职位,薪资信息
select empno,job,sal from emp where ename='SCOTT'
declare
v_ename varchar2(20):='SCOTT';
v_empno number;
v_job varchar2(20);
v_sal number(8,2);
begin
--赋值? select into
select empno,job,sal into v_empno,v_job,v_sal from emp where ename=v_ename;
dbms_output.put_line(v_empno ||'---->'|| v_job||'---->'|| v_sal); --输出结果
end;
--(1)%TYPE - 引用变量和数据库列的数据类型
select * from emp;
declare
v_ename emp.ename%type:='SMITH'; --VARCHAR2(10)
v_empno emp.empno%type;
v_job emp.job%type;
v_sal emp.sal%type;
begin
--赋值? select into
select empno,job,sal into v_empno,v_job,v_sal from emp where ename=v_ename;
dbms_output.put_line(v_empno ||'---->'|| v_job||'---->'|| v_sal); --输出结果
end;
--(2)%ROWTYPE - 提供表示表中一行的记录类型
declare
v_ename emp.ename%type:='JONES'; --VARCHAR2(10)
v_emp emp%rowtype; --1行的记录类型
begin
--赋值? select into
select empno,job,sal into v_emp.empno,v_emp.job,v_emp.sal from emp where ename=v_ename;
dbms_output.put_line(v_emp.empno ||'---->'|| v_emp.job||'---->'||v_emp.sal); --输出结果
end;
v_age number; ---声明变量或赋值
v_age1 number:=120;
v_age2 number:=&age; --从键盘输入
begin
v_age:=20; --执行部分(逻辑,输出...)
dbms_output.put_line(v_age ||'---->'|| v_age1||'---->'|| v_age2); --输出结果
end;
declare
age constant number:=80; --常量
age1 number default 200; --默认值
begin
-- age:=100; -->重新赋值(不可以的)常量
dbms_output.put_line(age||'--->'||age1);
end;
--查询SCOTT员工的编号,职位,薪资信息
select empno,job,sal from emp where ename='SCOTT'
declare
v_ename varchar2(20):='SCOTT';
v_empno number;
v_job varchar2(20);
v_sal number(8,2);
begin
--赋值? select into
select empno,job,sal into v_empno,v_job,v_sal from emp where ename=v_ename;
dbms_output.put_line(v_empno ||'---->'|| v_job||'---->'|| v_sal); --输出结果
end;
--(1)%TYPE - 引用变量和数据库列的数据类型
select * from emp;
declare
v_ename emp.ename%type:='SMITH'; --VARCHAR2(10)
v_empno emp.empno%type;
v_job emp.job%type;
v_sal emp.sal%type;
begin
--赋值? select into
select empno,job,sal into v_empno,v_job,v_sal from emp where ename=v_ename;
dbms_output.put_line(v_empno ||'---->'|| v_job||'---->'|| v_sal); --输出结果
end;
--(2)%ROWTYPE - 提供表示表中一行的记录类型
declare
v_ename emp.ename%type:='JONES'; --VARCHAR2(10)
v_emp emp%rowtype; --1行的记录类型
begin
--赋值? select into
select empno,job,sal into v_emp.empno,v_emp.job,v_emp.sal from emp where ename=v_ename;
dbms_output.put_line(v_emp.empno ||'---->'|| v_emp.job||'---->'||v_emp.sal); --输出结果
end;