(Не рекомендуемый), Выполняют 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