最近想学习oracle 方面的东西,边学习,边记录就当是学习笔记。
背景说明:由于PL/SQL对标准SQL兼容,因此在PL/SQL中运行使用SQL命令。
但是有些命令在使用方法上有所改变。DML语句在PL/SQL中的使
用方式和单独执行DML操作没有区别,而SELECT 和 DDL的方式都有所改变。
DML语句举例:
declarev_name staff.name%type:='张三';
begin
DBMS_OUTPUT.put_line('获取默认名字' || v_name);
select s.name into v_name from staff s where s.staff_id='21';
DBMS_OUTPUT.put_line('查询出来姓名' || v_name);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.put_line('未查询出数据');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.put_line('查询出多条数据');
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('未定义错误');
end;
DDL语句举例:
-- Created on 2017/8/2 by ADMINISTRATOR
declare
-- Local variables here
v_sql varchar2(200);
begin
-- Test statements here
v_sql:='CREATE TABLE TAB_TEST (
ID NUMBER(6) PRIMARY KEY,
NAME VARCHAR2(50),
SEX CHAR(1),
REMARK VARCHAR2(100)
)';
EXECUTE IMMEDIATE v_sql;
end;
总结:
DDL语句中 注意 EXECUTE IMMEDIATE 使用。