2.4 Использование SQL с сеансом
Помимо упрощенного синтаксиса X DevAPI объекта Session, объект Session имеет функцию sql(), которая принимает любое SQL-утверждение в виде строки.
В следующем примере используется Session для вызова SQL хранимой процедуры на конкретном узле.
var mysqlx = require('mysqlx');
// Connect to server using a Session
var mySession = mysqlx.getSession('user:password@localhost');
// Switch to use schema 'test'
mySession.sql("USE test").execute();
// In a Session context the full SQL language can be used
mySession.sql("CREATE PROCEDURE my_add_one_procedure " +
" (INOUT incr_param INT) " +
"BEGIN " +
" SET incr_param = incr_param + 1;" +
"END;").execute();
mySession.sql("SET @my_var = ?;").bind(10).execute();
mySession.sql("CALL my_add_one_procedure(@my_var);").execute();
mySession.sql("DROP PROCEDURE my_add_one_procedure;").execute();
// Use an SQL query to get the result
var myResult = mySession.sql("SELECT @my_var").execute();
// Gets the row and prints the first column
var row = myResult.fetchOne();
print(row[0]);
mySession.close();
При использовании буквального/verbatim SQL общие шаблоны API в основном такие же, как при использовании операций DML и CRUD над таблицами и коллекциями. Существуют два отличия: установка текущей схемы и экранирование имен.
© 2025 Oracle
Licensed under the GPLv2 License.