主要内容

执行

(不推荐)执行SQL语句,打开游标

执行该功能不推荐使用。对于返回数据的SQL语句,请使用获取函数或选择函数来代替。对于其他SQL语句,使用执行函数来代替。详细信息请参见兼容性的考虑

可滚动光标功能没有替代品。

描述

例子

卑鄙的人= exec (康涅狄格州sqlquery创建光标对象sqlquery对于数据库连接康涅狄格州

卑鄙的人= exec (康涅狄格州sqlquery名称,值使用一个或多个名称-值对参数指定选项。例如,MaxRows, 10将SQL查询执行前返回的行数限制为10。

卑鄙的人= exec (康涅狄格州sqlqueryqTimeOut使用超时值qTimeOut用于SQL查询执行。

例子

全部折叠

使用本机ODBC连接从微软®SQL Server®数据库导入MATLAB®.然后,确定产品中单位成本最高的产品。下载188bet金宝搏

创建到的ODBC数据库连接Microsoft SQL ServerWindows数据库®身份验证。请指定空用户名和密码。数据库包含该表productTable

数据源=“MS SQL Server认证”;Conn =数据库(数据源,);

检查数据库连接。如果消息属性为空,则连接成功。

conn.Message
Ans = []

从表中选择所有数据productTable使用连接对象。分配SQL选择语句传递给变量sqlquery.的光标对象包含执行的SQL查询。

sqlquery =SELECT * FROM productTable;Curs = exec(conn,sqlquery)
curs = cursor with properties: Data: 0 RowLimit: 0 SQLQuery: 'SELECT * FROM productTable'消息:[]类型:'ODBCCursor对象'语句:[1×1 database.internal.ODBCStatementHandle]

对于ODBC连接,使用类型属性包含ODBCCursor对象.对于JDBC连接,此属性包含数据库游标对象

将表中的数据导入MATLAB。

Curs =取回(Curs);data = curs.Data;

确定表中最高的单位成本。

马克斯(data.unitCost)
Ans = 24

在你完成工作之后光标对象,关闭它。关闭数据库连接。

关闭(杂种狗)关闭(康涅狄格州)

输入参数

全部折叠

数据库连接,指定为ODBC连接对象或JDBC连接对象创建。数据库函数。

SQL语句,指定为字符向量或字符串标量。SQL语句可以是任何有效的SQL语句,包括嵌套查询。SQL语句可以是存储过程,例如{调用sp_name (parm1,parm2,…)}.对于返回一个或多个结果集的存储过程,使用执行函数。对于返回输出参数的过程,使用runstoredprocedure

有关SQL查询语言的信息,请参见SQL教程

数据类型:字符|字符串

超时值,指定为数值标量,表示最大时间量(以秒为单位)执行尝试执行SQL语句sqlquery

数据类型:

名称-值参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:curs = exec(conn,sqlquery,'MaxRows',rowlimit);

执行SQL查询前要返回的最大行数,指定为由逗号分隔的对组成的“MaxRows”和一个正的标量。默认情况下,执行函数返回执行的SQL查询中的所有行。使用这个名称-值对参数来限制从SQL查询执行导入MATLAB的行数。该选项和其他内存管理选项请参见数据导入内存管理

数据类型:

游标类型,指定为逗号分隔的对,由“CursorType”这个表中的一个值。

价值 描述

“forward_only”

创建一个基本游标。

“滚动”

创建一个可滚动光标。

输出参数

全部折叠

数据库游标,返回为光标对象。

限制

名称-值对参数“MaxRows”有这些限制:

  • 如果你正在使用Microsoft Access™时,不支持本机ODBC接口。金宝app

  • 并非所有数据库驱动程序都支持在查询执行前设置最大行金宝app数。对于不受支持的驱动金宝app程序,修改SQL查询以限制要返回的最大行数。SQL语法随驱动程序的不同而不同。详细信息请参考驱动程序文档。

提示

  • 数据库中记录的顺序不会保持不变。使用SQL对数据进行排序命令在你的sqlquery声明。

  • Microsoft Excel®,表格sqlquery为Excel工作表。默认情况下,一些工作表名称包括的象征。若要从具有此名称格式的工作表中选择数据,请使用该表单的SQL语句SELECT * FROM "Sheet1$ .”(或“美元Sheet1”).

  • 在修改数据库表之前,请确保数据库未打开以供编辑。如果您尝试在数据库打开时编辑数据库,则会收到以下MATLAB错误:

    [供应商][ODBC驱动程序]数据库引擎无法锁定表'TableName',因为它已经被其他人或进程使用。
  • PostgreSQL数据库管理系统支持多维字段,但SQL金宝app选择除非指定索引,否则语句在检索这些字段时会失败。

  • 有些数据库要求您包含一个符号,例如,在查询日期之前和之后,如下所示:

    curs = exec(conn,'SELECT * FROM mydb WHERE mydate > #03/05/2005#')

选择功能

应用程序

执行函数使用命令行执行SQL语句。要以交互方式执行SQL语句,请使用数据库资源管理器应用程序。

兼容性的考虑

全部展开

不建议从R2018b开始

R2006a之前介绍