Spec-Zone.ru › MySQL Connectors 1.0

2.6 Динамичный SQL

Существует функция цитирования для экранирования имён и идентификаторов SQL. Session.quoteName() экранирует указанный идентификатор в соответствии с настройками текущего соединения.

Примечание

Функцию цитирования нельзя использовать для экранирования значений. Используйте синтаксис привязки значений Session.sql() вместо этого; см. Раздел 2.4, «Использование SQL с сессией» для некоторых примеров.

function createTestTable(session, name) {

  // use escape function to quote names/identifier
  quoted_name = session.quoteName(name);

  session.sql("DROP TABLE IF EXISTS " + quoted_name).execute();

  var create = "CREATE TABLE ";
  create += quoted_name;
  create += " (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT)";

  session.sql(create).execute();

  return session.getCurrentSchema().getTable(name);
}

var mysqlx = require('mysqlx');

var session = mysqlx.getSession('user:password@localhost:33060/test');

var default_schema = session.getDefaultSchema().name;
session.setCurrentSchema(default_schema);

// Creates some tables
var table1 = createTestTable(session, 'test1');
var table2 = createTestTable(session, 'test2');
      

Код, использующий X DevAPI, не нуждается в экранировании идентификаторов. Это верно при работе со коллекциями и при работе с реляционными таблицами.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/x-devapi-userguide-shell-js-en/dynamic-sql.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API