(Не рекомендуемый), Выполняют SQL-оператор и открытый курсор
Функция exec
не рекомендуется. Для SQL-операторов, которые возвращают данные, используйте функцию fetch
или функцию select
вместо этого. Для других SQL-операторов используйте функцию execute
вместо этого. Для получения дополнительной информации см. Вопросы совместимости.
Функциональность курсора с возможностью прокрутки не имеет никакой замены.
curs = exec(conn,sqlquery)
curs = exec(conn,sqlquery,Name,Value)
curs = exec(conn,sqlquery,qTimeOut)
задает опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 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