主要内容

executeSQLScript

在数据库上执行SQL脚本

描述

实例

后果=executeSQLScript(康涅狄格州,scriptfile)使用数据库连接康涅狄格州返回一个结构数组,其中包含每个执行的SQL的结果作为表(默认情况下)选择语句。对于任何非选择SQL语句,对应的表为空。这个executeSQLScript函数执行SQL脚本文件中的所有SQL语句。

实例

后果=executeSQLScript(康涅狄格州,scriptfile,名称,值)使用一个或多个名称-值对参数指定其他选项。例如,“DataReturnFormat”、“cellarray”将已执行SQL语句的结果存储为单元格数组。结果存储在数据结构数组的字段。

例子

全部折叠

连接到Microsoft®SQL Server®数据库。然后,运行两个SQL选择SQL脚本文件中的语句compare_sales.sql,导入结果,并执行简单的销售数据分析。该文件按顺序包含两个SQL查询。第一个SQL查询检索来自美国供应商的产品销售,第二个SQL查询检索来自外国供应商的产品销售。下载188bet金宝搏

使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。指定一个空白的用户名和密码。

数据源=“MS SQL Server身份验证”; conn=数据库(数据源,'','');

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

conn.Message
ans = []

执行SQL脚本。SQL脚本有两个SQL查询,分别从美国和外国供应商检索销售数据。

脚本文件='compare_sales.sql';结果=executeSQLScript(连接,脚本文件)
结果=1×2带有字段的结构数组:SQLQuery数据消息

这个executeSQLScript函数返回包含两个表的结构数组数据字段。第一个表包含在SQL脚本文件中执行第一个SQL查询的结果。第二个表包含执行第二个SQL查询的结果。

在SQL脚本文件中显示第二个SQL查询的前八行导入数据。数据显示了外国供应商的销售结果。

数据=头(结果(2)。数据)
资料=8×6表(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU uuuu“维多利亚娃娃”“古怪的小玩意儿”“阿德莱德”1400 1100 981“绘画套装”“很棒的玩具”“伦敦”3000 2400 1800“帆船”“不可思议的机器”“都柏林”3000 2400 1500“斯林克”娃娃女孩矿石“伦敦”3000 1500 1000“敞篷”不可思议的机器“都柏林”6000 3100 8800“Hugsy”大泰迪熊公司“贝尔法斯特”1800 9700 800“煎饼”杰米马斯阿姨“纽约”3100 9400 1540“披肩”印度出口“孟买”235 1800 1040

检索表中的变量名。

名称=data.Properties.VariableNames
名字=1×6单元阵列{'productDescription'}{'supplierName'}{'city'}{'Jan_Sales'}{'Feb_Sales'}{'Maru Sales'}

确定一月份的最高销售额。

最大值(1月销售数据)
ans = 6000

关闭数据库连接。

关闭(康涅狄格州)

连接到Microsoft®SQL Server®数据库。然后,运行两个SQL选择SQL脚本文件中的语句compare_sales.sql.将SQL查询的结果作为结构导入,并执行简单的销售数据分析。该文件依次包含两个SQL查询。第一个SQL查询检索来自美国供应商的产品销售,第二个SQL查询检索来自外国供应下载188bet金宝搏商的产品销售。

使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。指定一个空白的用户名和密码。

数据源=“MS SQL Server身份验证”; conn=数据库(数据源,'','');

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

conn.Message
ans = []

执行SQL脚本。SQL脚本有两个SQL查询,分别从美国和外国供应商检索销售数据。指定结构作为导入查询结果的数据返回格式。

脚本文件='compare_sales.sql';结果= executeSQLScript (scriptfile康涅狄格州,...“DataReturnFormat”,“结构”)
结果=1×2带有字段的结构数组:SQLQuery数据消息

这个executeSQLScript函数返回包含两个结构的结构数组数据字段。第一个结构包含在SQL脚本文件中执行第一个SQL查询的结果。第二个结构包含执行第二个SQL查询的结果。

在SQL脚本文件中显示第二个SQL查询的导入数据。该数据包含来自外国供应商的销售结果。

(2)数据=结果。数据
data =结构体字段:产品描述:{9×1单元}供应商名称:{9×1单元}城市:{9×1单元}Jan_销售:[9×1双倍]二月销售:[9×1双倍]三月销售:[9×1双倍]

确定一月份的最高销售额。

最大值(1月销售数据)
ans = 6000

关闭数据库连接。

关闭(康涅狄格州)

输入参数

全部折叠

数据库连接,指定为ODBC连接对象或JDBC连接使用数据库作用

包含一个或多个要运行的SQL语句的SQL脚本文件的名称,指定为字符向量或字符串标量。该文件必须是文本文件,并且可以包含SQL查询之外的注释。以单行注释开始--.将多行注释括在/ * * /

SQL脚本文件可以包含一个或多个以分号或关键字结束的SQL语句. 下面是两个SQL语句的示例选择语句。

SELECT productDescription, supplierName FROM suppliers A, productTable B WHERE A. suppliernumber = B. suppliernumberSELECT supplierName, Country FROM suppliers;

例子:“C: \ \ sql_file.sql工作”

数据类型:字符|一串

名称值参数

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

例子:结果= executeSQLScript(康涅狄格州、scriptfile‘DataReturnFormat’,‘数字’,‘ErrorHandling’,“商店”)中的数字矩阵返回查询结果数据领域后果结构数组并将任何错误消息存储在消息领域后果

数据返回格式,指定为逗号分隔对,由“DataReturnFormat”其中一个值:

  • “表”

  • “雷”

  • “数字”

  • “结构”

可以使用字符向量或字符串标量指定这些值。

这个“DataReturnFormat”名称-值对参数指定数据野外后果结构数组。

例子:“DataReturnFormat”,“结构”返回包含存储在结构中的查询结果的结构数组。

错误处理,指定为逗号分隔对,由“ErrorHandling”其中一个值:

  • “报告”-当SQL语句执行失败时,停止执行SQL脚本文件中剩余的SQL语句,并在命令行显示错误消息。

  • “存储”—当SQL语句执行失败时,将错误信息保存在消息领域后果结构数组。

可以使用字符向量或字符串标量指定这些值。

例子:“错误处理”,“报告”在命令行中显示错误消息。

输出参数

全部折叠

查询结果来自SQL脚本文件中执行的SQL语句,返回为带有这些字段的结构数组。

字段名 字段数据类型 字段描述

SQLQuery

特征向量

存储SQL语句或SQL脚本文件中执行的语句。

数据

  • 表(默认值)

  • 单元阵列

  • 数字矩阵

  • 结构

存储执行SQL的结果选择语句。

这个“DataReturnFormat”名称-值对参数指定数据领域

非-选择SQL语句数据字段为空双精度,这意味着执行的SQL查询没有结果。

消息

特征向量

存储未能执行的相应SQL语句的错误消息。

这个消息仅当您指定“ErrorHandling”使用值的名称-值对参数“存储”

结构数组中的元素数等于SQL脚本文件中的SQL语句数。结果(M)方法的执行结果MSQL脚本文件中的SQL语句。如果SQL语句返回查询结果,则结果存储在结果(M)。数据

有关访问结构数组的详细信息,请参见结构数组

限制

  • 使用executeSQLScript函数将数据导入MATLAB®,特别是当您的SQL查询又长又复杂,很难转换成MATLAB字符向量或字符串标量时。这个executeSQLScript函数不支持包含连续PL/SQL块的S金宝appQL脚本开始终止,例如存储过程定义或触发器定义。然而executeSQLScript不支持表定金宝app义。

  • 包含以下内容之一的SQL脚本可能会产生意外结果:

    • 未转义的撇号,包括注释中的撇号。例如,编写字符向量'这是代码'这里的“年代的代码

    • 嵌套注释。

  • 包含25000个字符以上的SQL脚本会导致executeSQLScript函数返回错误。

在R2019a中引入