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;
相关推荐
cui_ruicheng8 小时前
MySQL(四):数据类型与字段设计
数据库·mysql
皮皮学姐分享-ppx8 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
闪电悠米10 小时前
黑马点评-Redis 消息队列-03_stream_consumer_group
开发语言·数据库·redis·分布式·缓存·junit·lua
DIY源码阁11 小时前
JavaSwing航班订票管理系统 - MySQL版
数据库·mysql
浪客灿心12 小时前
项目篇:模块设计与实现
数据库·c++
流星白龙13 小时前
【MySQL高阶】26.事务(1)
数据库·mysql
三十..14 小时前
Redis 核心原理与高可用架构实践
运维·数据库·redis
这个DBA有点耶14 小时前
索引优化深潜(下):索引合并、ICP 与索引设计的实战法则
数据库·mysql·架构
努力努力再努力wz15 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
JdSnE27zv15 小时前
Qt 操作SQLite数据库
数据库·qt·sqlite