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的方式.