Spec-Zone.ru › MySQL Connectors 1.0

2.4 Использование SQL с сессией

В дополнение к упрощенному синтаксису X DevAPI объекта Session, объект Session имеет функцию sql(), которая принимает любое SQL-утверждение в виде строки.

Следующий пример использует сессию для вызова SQL хранимой процедуры на конкретном узле.

from mysqlsh import mysqlx

# Connect to server using a Session
mySession = mysqlx.get_session('user:password@localhost')

# Switch to use schema 'test'
mySession.sql("USE test").execute()

# In a Session context the full SQL language can be used
sql = """CREATE PROCEDURE my_add_one_procedure
                                 (INOUT incr_param INT)
                                 BEGIN
                                         SET incr_param = incr_param + 1;
                                 END
                        """

mySession.sql(sql).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
myResult = mySession.sql("SELECT @my_var").execute()

# Gets the row and prints the first column
row = myResult.fetch_one()
print(row[0])

mySession.close()

При использовании буквального/дословного SQL общие шаблоны API в основном те же, что и при использовании операций DML и CRUD над таблицами и коллекциями. Существуют два отличия: установка текущей схемы и экранирование имен.

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

Spec-Zone.ru

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