普遍 SQL:客户端能否在一个数据库请求中发送多个 SQL 语句?
Pervasive SQL: Can a client send multiple SQL Statements in one Database Request?
从客户端应用程序,是否可以一次向 PSQ v13 发送多个 SQL 语句?
我有一种情况,我想通过 ODBC 在一次调用中同时发送删除语句和插入语句。如果我可以将此作为事务执行,那么这两个语句要么成功要么失败,这也是理想的。
是否可以在不创建服务器端存储过程的情况下实现这些操作?如果可以,组合多个语句的正确语法是什么?
没有一种方法可以在不使用事务的情况下同时执行这两个语句并保证它们都成功。事务仅在存储过程中可用。
您所描述的(以原子方式执行 DELETE
和 INSERT
语句)非常适合使用事务的存储过程。
这样的事情是一个好的开始:
CREATE PROCEDURE TransactionTest (:ID integer)
RETURNS (
ID INTEGER);
BEGIN
START TRANSACTION;
DELETE FROM Table where ID = :ID;
SELECT MAX(ID) from table;
COMMIT WORK;
END;
从客户端应用程序,是否可以一次向 PSQ v13 发送多个 SQL 语句?
我有一种情况,我想通过 ODBC 在一次调用中同时发送删除语句和插入语句。如果我可以将此作为事务执行,那么这两个语句要么成功要么失败,这也是理想的。
是否可以在不创建服务器端存储过程的情况下实现这些操作?如果可以,组合多个语句的正确语法是什么?
没有一种方法可以在不使用事务的情况下同时执行这两个语句并保证它们都成功。事务仅在存储过程中可用。
您所描述的(以原子方式执行 DELETE
和 INSERT
语句)非常适合使用事务的存储过程。
这样的事情是一个好的开始:
CREATE PROCEDURE TransactionTest (:ID integer)
RETURNS (
ID INTEGER);
BEGIN
START TRANSACTION;
DELETE FROM Table where ID = :ID;
SELECT MAX(ID) from table;
COMMIT WORK;
END;