(Не рекомендуемый) Выполнить оператора SQL и открыть курсор
exec
функция не рекомендуется. Для операторов SQL, которые возвращают данные, используйте fetch
функцию или select
вместо этого функция. Для других операторов SQL используйте execute
вместо этого функция. Для получения дополнительной информации см. Вопросы совместимости.
Функциональность прокручиваемого курсора не заменяется.
задает опции, используя один или несколько аргументы пары "имя-значение". Для примера, curs
= exec(conn
,sqlquery
,Name,Value
)'MaxRows',10
ограничивает количество строк, возвращаемых до 10 перед выполнением SQL-запросов.
Область аргумента пары "имя-значение" 'MaxRows'
имеет следующие ограничения:
Если вы используете Microsoft Access™, собственный интерфейс ODBC не поддерживается.
Не все драйверы базы данных поддерживают установку максимального количества строк перед выполнением запроса. Для неподдерживаемого драйвера измените SQL-запрос, ограничив максимальное количество возвращаемых строк. Синтаксис SQL изменяется в зависимости от драйвера. Для получения дополнительной информации см. документацию по драйверу.
Порядок записей в базе данных не остается постоянным. Сортировка данных с помощью SQL- ORDER BY
команда в вашем sqlquery
оператор.
Для Microsoft Excel®, таблицы в sqlquery
являются таблицами Excel. По умолчанию некоторые имена листов включают $
символ. Чтобы выбрать данные из листа с таким форматом имен, используйте SQL- оператора формы SELECT * FROM "Sheet1$
"(или 'Sheet1$'
).
Перед изменением таблиц базы данных убедитесь, что база данных не открыта для редактирования. Если вы пытаетесь отредактировать базу данных, пока она открыта, вы получите эту ошибку MATLAB:
[Vendor][ODBC Driver] The database engine could not lock table 'TableName' because it is already in use by another person or process.
Система управления базами данных PostgreSQL поддерживает многомерные поля, но SQL SELECT
операторы не выполняются при получении этих полей, если вы не задаете индекс.
Некоторые базы данных требуют, чтобы вы включили символ, такой как #
, до и после даты в запросе, следующим образом:
curs = exec(conn,'SELECT * FROM mydb WHERE mydate > #03/05/2005#')
exec
функция выполняет операторов SQL с помощью командной строки. Чтобы выполнить операторов SQL в интерактивном режиме, используйте приложение Database Explorer.
close
| database
| fetch
| select
| setdbprefs