oracle之--动态sql(execute immediate ‘ ‘)

动态sql--execute immediate ' '

原因:ddl语句,truncate语句 不能直接使用,需要封装起来

sql 复制代码
--动态sql--execute immediate ' '====因为ddl,truncate 不能直接使用,需要封装起来
--1.TRUNCATE table 
declare 
BEGIN
--truncate table emp_4;
	execute immediate 'truncate table emp_4';--立即执行清除表数据(工作中经常使用)
end;

--2.create table emp_4 as selcet * from emp;--备份表(工作中经常使用)
declare 
BEGIN
	execute immediate 'create table emp_4 as selcet * from emp';
end;

--3.alter table emp_4 ADD aaa number;---添加aaa表字段
declare 
BEGIN
	execute immediate 'alter table emp_4 ADD aaa number';
end;

--4.alter table emp_4 modify aaa varchar2(10);---修改aaa的字段类型
declare 
BEGIN
	execute immediate 'alter table emp_4 modify aaa varchar2(10)';
end;

--5.alter table emp_4 drop COLUMN aaa;--删除aaa表字段
declare 
BEGIN
	execute immediate 'alter table emp_4 drop COLUMN aaa';
end;

--6.alter table emp_4 rename column aaa to bbb;--修改字段名
declare 
BEGIN
	execute immediate 'alter table emp_4 rename column aaa to bbb';
end;

--7.alter table emp_4 rename to emp_8;--修改表名
declare 
BEGIN
	execute immediate 'alter table emp_4 rename to emp_8';
end;

--8.drop table emp_4 ;--删除表
declare 
BEGIN
	execute immediate 'drop table emp_4';
end;
相关推荐
IT项目管理4 分钟前
达梦数据库DMHS介绍及安装部署
linux·数据库
你都会上树?12 分钟前
MySQL MVCC 详解
数据库·mysql
大春儿的试验田17 分钟前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
Ein hübscher Kerl.1 小时前
虚拟机上安装 MariaDB 及依赖包
数据库·mariadb
醇醛酸醚酮酯1 小时前
Qt项目锻炼——TODO清单(二)
开发语言·数据库·qt
GreatSQL社区2 小时前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根2 小时前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql
weixin_438335402 小时前
基础知识:mysql-connector-j依赖
数据库·mysql
小明铭同学2 小时前
MySQL 八股文【持续更新ing】
数据库·mysql
Mr_Xuhhh2 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构