为什么从客户端应用程序调用 PL/SQL 调用 SQL 引擎
Why SQL Engine is called for PL/SQL call from client application?
在我的应用程序中,我只是为数据库相关活动调用存储过程。
我已经在这里发布了一个与性能相关的问题。
罗伯·马斯卡罗回答了我的问题,他的回答中有一句话像
*Each PLSQL call within your C++ app call invokes the SQL engine which then invokes the PLSQL engine for the procedure call*
我的问题是为什么在调用PL/SQL时需要调用sql引擎?为什么我的客户端应用程序不能直接调用 PL/SQL 引擎来处理 PL/SQL?
SQL 引擎并不总是
需要调用 - 它取决于客户端以及客户端是否嵌入了 PLSQL 引擎。例如,Oracle Forms具有嵌入式PLSQL引擎,因此在调用PLSQL过程时,可以将整个调用传递给引擎,而不会发生上下文切换。但是,使用 PRO*C,您始终执行 SQL 语句,然后执行 PLSQL 调用的"块",如下所示:
begin
call_proc;
end;
这调用了SQL解析器,一旦执行"begin"匿名块,它就会切换到PLSQL引擎。这就是客户端的架构方式。SQL*Plus 与此类似,你运行 SQL 引擎来调用 PLSQL 块。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- 为什么 std::unique 不调用 std::sort?
- 调用专用模板时出错"no matching function for call to [...]"
- 在C++中调用 MS SQL 存储过程
- 在 Microsoft Access SQL 中调用自定义 DLL 函数时传递的内存地址无效
- 使用来自 SOCI 的匿名 PL SQL 块调用 PLsql 脚本
- 由触发器调用的 MS SQL XP 更改 C++ 文件日期戳,以允许刷新表单应用程序 vb.net
- 为什么从客户端应用程序调用 PL/SQL 调用 SQL 引擎
- C++MySQL连接器无法在sql::Connection close()调用上断开TCP连接
- SQL Server-使用C++ODBC调用存储过程
- 使用dbffcmd和dbrpcsend从c++调用SQL Server存储过程
- UDF调用SQL Server内部的外部C++代码
- sql server 2008-如何使用ADO从c++调用用户定义的函数