PL/SQL中除了可以使用DQL语言,也可以使用DML、DDL语言.
一、DML语言的使用
DML语句在PL/SQL中的使用方式和单独执行并没有什么区别,示例:
begin
INSERT INTO product(name,price,num) values('GTX 2080Ti',2333.33,33);
COMMIT;
end;
begin
UPDATE product SET price = 6666.66 where num = 33;
COMMIT;
end;
begin
DELETE FROM product where num = 33;
COMMIT;
end;
二、DDL语言的使用
PL/SQL中DDL语言的使用需要用到 EXECUTE IMMEDIATE 命令,同时,这个命令不仅可以执行DDL语句,也可以执行DML语句.
1、执行DDL语句
declare
v_ddl_sql varchar2(200);
begin
v_ddl_sql := 'CREATE TABLE ddl_test(
tid number(10) primary key,
tname varchar2(10)
)';
EXECUTE IMMEDIATE v_ddl_sql;
end;
2、执行DML语句
declare
v_dml_sql varchar2(200);
begin
v_dml_sql := 'INSERT INTO ddl_test VALUES(1,';
v_dml_sql := v_dml_sql || '''AAA'')';
EXECUTE IMMEDIATE v_dml_sql;
COMMIT;
end;
由于使用 EXECUTE IMMEDIATE 命令主要是拼接字符串,拼接起来很麻烦,所以如果不是特别需要,执行DML语句不要使用动态SQL的方式.