oracle - 立即执行?
问题描述
为什么我们execute immediate
在 PL/SQL 中使用命令?
我正在查看以前同事编写的一些程序,我看到该人已经使用execute immediate
了很多时间来记录程序的进度以及截断表格时。
我的问题是他为什么要这样做?我们不能像在 pl/sql proc 中那样截断表吗?
解决方案
Oracle 不允许在可执行块中执行 DDL。这是不允许的
begin
alter table . . .
end;
最初甲骨文有SYS.DBMS_DDL
包来完成这项工作。但是使用起来很麻烦,所以oracle引入了execute immediate
大约v9。
推荐阅读
- http - cURL - 如何使用 GET 发送 HTTP 请求消息正文?
- python - 将 Python 列表上传到 Google Cloud Storage 并覆盖文件
- php - 将 Laravel 代码从本地服务器部署到实时服务器管理子文件夹仪表板后未重定向
- angular-cli - Angular 7:xlsx_styles__WEBPACK_IMPORTED_MODULE_2__.utils.json_to_sheet 不是函数
- excel - 插入行 - 循环宏功能 - 基于单元格中的数字
- javascript - 存在多个按钮。如何使每个按钮的唯一文本在单击后出现
- react-native - 隐藏/显示组件而不是使用导航库有什么问题?
- python - 如何使用 python zeep 进行重试处理?我正在使用请求重试会话,但未处理异常
- tsql - 仅当单个列不存在多次时才获取结果
- c - “ans += n << count”是什么意思?