过程语句
适用于 ❌ 开源版 ✅ Express 版 ✅ 专业版 ✅ 企业版
大多数关系型数据库管理系统(RDBMS)都支持某种过程语言,允许在数据库内部运行命令式代码。这些语言的语法通常相似,因此 jOOQ 也支持并标准化了它们。
在某些数据库中,过程语言可以以匿名块的形式存在,即即时解释(或编译)的临时程序。然而,在大多数 RDBMS 中,使用过程语言的主要方法是将过程逻辑存储在存储过程或函数中,以便它们可以被预编译并转换为本地代码以提高性能。
jOOQ API 目前仅支持匿名块。在不支持匿名块的某些方言中,会通过存储、调用和删除过程的方式进行模拟。
一个将值 1-10 插入表的匿名块示例
-- PL/SQL syntax BEGIN FOR i IN 1 .. 10 LOOP INSERT INTO t (col) VALUES (i); END LOOP; END;
Variable<Integer> i = var(name("i"), INTEGER); create.begin( for_(i).in(1, 10).loop( insertInto(T).columns(T.COL).values(i) ) ).execute();
整个循环在服务器上执行,这可以大大减少客户端-服务器之间的往返次数。
除了 块语句 外,此功能集仅在我们商业发行版中提供。
反馈
您对此页面有任何反馈吗? 我们很想听听您的意见!