mysql> select corderno,mshippingcharges,mgiftwrapcharges from orders;
+----------+------------------+------------------+
| corderno | mshippingcharges | mgiftwrapcharges |
+----------+------------------+------------------+
| 000001 | 6 | 1.25 |
| 000002 | 8 | 2 |
| 000003 | 12 | 0 |
+----------+------------------+------------------+
9 rows in set
create procedure prccharges(in orderno char(6),
out shippingCharges float(4,2),out wrapCharges float(4,2))
begin
select mshippingcharges into shippingCharges from
orders where corderno = orderno;
select mgiftwrapcharges into wrapcharges from orders where corderno = orderno;
--执行时命令
call prccharges('000001',@pp,@qq);
select @pp,@qq;
--执行结果
mysql> select @pp,@qq;
+-----+------+
| @pp | @qq |
+-----+------+
| 6 | 1.25 |
+-----+------+
1 row in set
create procedure prcHandLingCharges(in orderno char(6),
out handlingCharges float(4,2))
begin
declare ppp float(4,2);
declare qqq float(4,2);
call prccharges(orderno,ppp,qqq);
set handlingCharges = ppp + qqq;
--执行时命令
call prcHandLingCharges('000001',@qqqq);
select @qqqq;
--执行结果
mysql> select @qqqq;
+-------+
| @qqqq |
+-------+
| 7.25 |
+-------+
1 row in set
2、在存储过程中,可以使用动态执行sql的方式来返回结果集。eg:
DELIMITER $$
DROP procedure IF EXISTS pro_report_data $$
CREATE procedure pro_report_data(in startT varchar(100),in stopT varchar(100),in buyerFilter varchar(20),gfs varchar(2000),qfs varchar(2000))
BEGIN
declare colsStr varchar(2000);
declare tableStr varchar(2000);
declare whereStr varchar(2000);
declare groupStr varchar(2000);
declare sqls varchar(2000);
call createReportSql4Other(null,null,0,buyerFilter,gfs,qfs,2,startT,stopT,0,colsStr,tableStr,whereStr,groupStr);
set sqls= concat('select ',colsStr,' from ',tableStr,' where ',whereStr,' group by ',groupStr);
set @ms=sqls;
PREPARE s1 from @ms;
EXECUTE s1;
deallocate prepare s1;
END$$
DELIMITER;
mysql
调用
存储过程
的方法:可以利用CALL语句来
调用
存储过程
,语法为【CALL sp_name([parameter])】。
调用
存储过程
可以使程序执行效率更高,增强程序的可重用性和维护性。
MySQL
调用
存储过程
必须要使用call语句
调用
,且
存储过程
需要和数据库相关,如果不相关则需要指定数据库名称。使用
存储过程
,可以使程序执行效率更高,安全性更好,增强程序的可重用性和维护性
调用
存储过程
存储过程
有...
解压密码:reply
MySQL
是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。
它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问
MySQL
数据库的程序,
另外,
MySQL
在UNIX等操作系统上是免费的,在Windows操作系统上,可免费使用其客户机程序和客户机程序库。
本书通过两个实例,详细介绍了
MySQL
的基本概念、基本技巧、编程方法、管理特点,以及第三方工具(如PHP和Perl)的使用方法。
本书还提供了大量与
MySQL
有关的因特网站点,以及获得
MySQL
的技术支持方法。 本书适合数据库、网络开发与管理等人员参考。
目 录
第一部分
MySQL
的使用
第1章
MySQL
与 SQL 介绍 1
1.1
MySQL
的用途 1
1.2 一个样例数据库 4
1.2.1 美国历史同盟 4
1.2.2 学分保存方案 6
1.2.3 样例数据库怎样才能满足需求 6
1.3 基本数据库术语 7
1.3.1 基本术语 7
1.3.2 查询语言术语 9
1.3.3
MySQL
的体系结构术语 9
1.4
MySQL
教程 10
1.4.1 基本要求 10
1.4.2 取得样例数据库的分发包 11
1.4.3 建立和中止服务器的连接 11
1.4.4 发布查询 13
1.4.5 创建数据库 14
1.4.6 创建表 15
1.4.7 增加新记录 26
1.4.8 检索信息 28
1.4.9 删除或更新现有记录 49
1.4.10 改变表的结构 50
1.5 与
mysql
交互的技巧 51
1.5.1 简化连接过程 51
1.5.2 以较少的键入发布查询 53
1.6 向何处去 56
第2章 用
MySQL
处理数据 57
2.1
MySQL
数据类型 58
2.2
MySQL
的列类型 59
2.2.1 列类型概述 59
2.2.2 数值列类型 61
2.2.3 串列类型 69
2.2.4 日期和时间列类型 76
2.3 选择列的类型 81
2.3.1 列中存储何种类型的值 82
2.3.2 列值有特定的取值范围吗 84
2.3.3 性能与效率问题 85
2.3.4 希望对值进行什么样的比较 87
2.3.5 计划对列进行索引吗 87
2.3.6 列类型选择问题的
相互
关联程度 88
2.4 表达式求值和类型转换 88
2.4.1 撰写表达式 89
2.4.2 类型转换 94
第3章
MySQL
SQL 语法及其用法 99
3.1
MySQL
中的SQL特征 99
3.2
MySQL
的命名规则 100
3.2.1 引用数据库的成分 100
3.2.2 SQL语句中的大小写规则 101
3.3 创建、删除和选择数据库 101
3.4 创建、删除、索引和更改表 102
3.4.1 CREATE TABLE语句 102
3.4.2 DROP TABLE 语句 106
3.4.3 创建和删除索引 106
3.4.4 ALTER TABLE语句 109
3.5 获取数据库和表的有关信息 111
3.6 检索记录 112
3.6.1 平凡连接 113
3.6.2 全连接 113
3.6.3 左连接 114
3.7 加注释 115
3.8 解决方案随笔 116
3.8.1 将子选择编写为连接 116
3.8.2 检查表中未给出的值 117
3.8.3 执行UNION操作 118
3.8.4 增加序列号列 119
3.8.5 对某个已有的列进行排序 120
3.8.6 非正常次序的串 120
3.8.7 建立计数表 120
3.8.8 检查表是否存在 121
3.9
MySQL
不支持的功能 121
第4章 查询优化 125
4.1 使用索引 125
4.1.1 索引的益处 125
4.1.2 索引的弊端 127
4.1.3 选择索引 127
4.2
MySQL
查询优化程序 129
4.2.1 优化程序怎样工作 129
4.2.2 忽略优化 131
4.3 列类型选择与查询效率 132
4.4 有效地装载数据 134
4.5 调度与锁定问题 136
4.6 管理员的优化 137
4.6.1 服务器参数 138
4.6.2 硬件问题 138
第二部分
MySQL
编程接口
第5章
MySQL
程序设计介绍 139
5.1
MySQL
可用的 API 142
5.1.1 C API 143
5.1.2 Perl DBI API 143
5.1.3 PHP API 145
5.2 选择API 146
5.2.1 执行环境 146
5.2.2 性能 147
5.2.3 开发时间 149
5.2.4 可移植性 151
第6章
MySQL
C API 152
6.1 建立客户机程序的一般过程 153
6.1.1 基本的系统需求 153
6.1.2 编译和连接客户机程序 153
6.2 客户机程序1—连接到服务器 154
6.3 客户机程序2—增加错误检查 156
6.4 客户机程序3—产生连接代码模块 158
6.5 客户机程序4—在运行时获取连接参
数 163
6.5.1 访问选项文件内容 164
6.5.2 分析命令行参数 166
6.6 处理查询 172
6.6.1 处理不返回结果集的查询 173
6.6.2 处理返回结果集的查询 174
6.6.3 通用目标查询处理程序 176
6.6.4 可选择的查询处理方法 178
6.6.5
mysql
_store_result()与
mysql
_
use _result()的比较 179
6.6.6 使用结果集元数据 181
6.7 客户机程序5—交互式查询程序 184
6.8 其他主题 185
6.8.1 在结果集上执行计算 185
6.8.2 对查询中有疑问的数据进行编码 187
6.8.3 图像数据的处理 188
6.8.4 获取表信息 189
6.8.5 需要避免的客户机程序设计错误 189
第7章 Perl DBI API 192
7.1 Perl 脚本的特点 192
7.2 Perl DBI 基础 193
7.2.1 DBI数据类型 193
7.2.2 一个简单的DBI脚本 193
7.2.3 处理错误 196
7.2.4 处理不返回结果集的查询 199
7.2.5 处理返回结果集的查询 200
7.2.6 引用问题 206
7.2.7 占位符和参数约束 209
7.2.8 指定连接参数 210
7.2.9 调试 213
7.2.10 使用结果集元数据 215
7.3 运行 DBI 218
7.3.1 生成历史同盟目录 218
7.3.2 发送成员资格更新通知 223
7.3.3 历史同盟成员项目编辑 227
7.3.4 寻找共同兴趣的历史同盟成员 231
7.3.5 联机历史同盟目录 232
7.4 在 Web 应用程序中使用 DBI 234
7.4.1 设置CGI脚本的Apache 235
7.4.2 CGI.pm的简要介绍 236
7.4.3 从Web脚本连接到
MySQL
服
务器 239
7.4.4 samp_db数据库浏览器 240
7.4.5 学分保存方案分数浏览器 243
7.4.6 历史同盟共同兴趣的搜索 246
第8章 PHP API 248
8.1 PHP 脚本的特点 248
8.2 PHP基础 248
8.2.1 使用函数和include 文件 253
8.2.2 一个简单的查询页面 257
8.2.3 处理查询结果 258
8.2.4 处理错误 261
8.2.5 引用问题 262
8.3 运行 PHP 263
8.3.1 输入学生分数 263
8.3.2 美国总统测验 269
8.3.3 历史同盟联机成员项的编辑 271
第三部分
MySQL
管理
第9章
MySQL
管理介绍 277
9.1 管理职责概述 277
9.2 常规管理 278
9.3 安全性 279
9.4 数据库修复和维护 279
第10章
MySQL
数据目录 280
10.1 数据目录的位置 280
10.2 数据目录的结构 281
10.2.1
MySQL
服务器怎样提供对数据
的访问 282
10.2.2 数据库的表示法 283
10.2.3 数据库表的表示法 283
10.2.4 数据库和表命名中的操作系统
约束 284
10.2.5 系统性能的数据目录结构的
含义 285
10.2.6
MySQL
的状态文件 286
10.3 重定位数据目录的内容 288
10.3.1 重定位方法 288
10.3.2 估计重定位的效果 289
10.3.3 重定位数据目录 289
10.3.4 重定位数据库 290
10.3.5 重定位数据库表 290
10.3.6 重定位状态文件 290
第11章 常规的
MySQL
管理 292
11.1 新的
MySQL
安装的安全性 292
11.2
MySQL
服务器的启动和关闭 293
11.2.1 用无特权的用户账号运行
MySQL
服务器 293
11.2.2 启动服务器的方法 295
11.2.3 关闭服务器 296
11.2.4 在不连接时收回服务器的控制 297
11.3 用户账号管理 298
11.3.1 创建新用户和授权 298
11.3.2 取消权限和删除用户 302
11.4 日志文件维护 303
11.5 备份和拷贝数据库 305
11.5.1 用
mysql
dump备份和拷贝数
据库 307
11.5.2 使用直接拷贝数据库备份和
拷贝方法 308
11.5.3 复制数据库 309
11.6 为数据恢复使用备份 309
11.6.1 恢复整个数据库 310
11.6.2 恢复单个的表 310
11.7 优化服务器 311
11.8 运行多个服务器 312
11.8.1 配置和安装多个服务器 313
11.8.2 多个服务器的启动过程 313
11.9 更新
MySQL
313
第12章 安全性 315
12.1 内部安全性:安全数据目录访问 315
12.2 外部安全性:安全网络访问 317
12.2.1
MySQL
授权表的结构和内容 317
12.2.2 服务器如何控制客户机的访问 320
12.2.3 授权表应避免的风险 323
12.2.4 不用GRANT建立用户 324
第13章 数据库维护和修复 328
13.1 检查和维护数据库表 328
13.1.1 myisamchk和 isamchk的
调用
语法 328
13.1.2 检查表 329
13.1.3 修复表 329
13.1.4 避免与
MySQL
服务器交互
作用 331
13.1.5 快速运行myisamchk和 isamchk 332
13.2 安排预防性的维护 333
13.2.1 用cron定期检查表 334
13.2.2 在系统启动期间检查表 335
第四部分 附 录
附录A 获得和安装软件 337
附录B 列类型参考 349
附录C 运算符和函数参考 356
附录D SQL 语法参考 384
附录E
MySQL
程序参考 408
附录F C API 参考 431
附录G Perl DBI API 参考 453
附录H PHP API 参考 465
附录 I 有用的第三方工具 482
附录 J 因特网服务商 484
i4-data-cloud 分布式微服务权限控制数据平台
整合数据资源,重写代码架构,降低耦合度,服务功能做到热插拔,开箱即用;
底层代码分模块封装成至简化,职责明确,注释严谨,保障高可读性;
应用层相对独立,借助注册中心,通过openfeign
相互
调用
,配置降级熔断机制;
应用/功能拓展简单,通过FreeMarker开发了一套基于当前平台的自动代码生成应用,且提供了web界面操作,只需依次填写配置表单即可;
数据存储方式的多元化决定可存储内容的丰富化,图片,图文内容,音视频等各类文件;
数据存储的各类组件,统一为高可用模式,master-slave节点,可用节点大于等于2;
流程引擎驱动事务办理,将线下的会签事项搬到线上,绘制相对应的流程图;
自定义权限控制,权限细化到按钮,操作拦截到具体的接口,保持公共数据的可阅读性与安全性;
数据存储/中间件
MySQL
MySQL
是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问
MySQL
数据库的程序,另外,
MySQL
在UNIX等操作系统上是免费的,在Windows操作系统上,可免费使用其客户机程序和客户机程序库。 本书通过两个实例,详细介绍了
MySQL
的基本概念、基本技巧、编程方法、管理特点,以及第三方工具(如PHP和Perl)的使用方法。本书还提供了大量与
MySQL
有关的因特网站点,以及获得
MySQL
的技术支持方法。 本书适合数据库、网络开发与管理等人员参考。
第一部分
MySQL
的使用
第1章
MySQL
与 SQL 介绍 1
1.1
MySQL
的用途 1
1.2 一个样例数据库 4
1.2.1 美国历史同盟 4
1.2.2 学分保存方案 6
1.2.3 样例数据库怎样才能满足需求 6
1.3 基本数据库术语 7
1.3.1 基本术语 7
1.3.2 查询语言术语 9
1.3.3
MySQL
的体系结构术语 9
1.4
MySQL
教程 10
1.4.1 基本要求 10
1.4.2 取得样例数据库的分发包 11
1.4.3 建立和中止服务器的连接 11
1.4.4 发布查询 13
1.4.5 创建数据库 14
1.4.6 创建表 15
1.4.7 增加新记录 26
1.4.8 检索信息 28
1.4.9 删除或更新现有记录 49
1.4.10 改变表的结构 50
1.5 与
mysql
交互的技巧 51
1.5.1 简化连接过程 51
1.5.2 以较少的键入发布查询 53
1.6 向何处去 56
第2章 用
MySQL
处理数据 57
2.1
MySQL
数据类型 58
2.2
MySQL
的列类型 59
2.2.1 列类型概述 59
2.2.2 数值列类型 61
2.2.3 串列类型 69
2.2.4 日期和时间列类型 76
2.3 选择列的类型 81
2.3.1 列中存储何种类型的值 82
2.3.2 列值有特定的取值范围吗 84
2.3.3 性能与效率问题 85
2.3.4 希望对值进行什么样的比较 87
2.3.5 计划对列进行索引吗 87
2.3.6 列类型选择问题的
相互
关联程度 88
2.4 表达式求值和类型转换 88
2.4.1 撰写表达式 89
2.4.2 类型转换 94
第3章
MySQL
SQL 语法及其用法 99
3.1
MySQL
中的SQL特征 99
3.2
MySQL
的命名规则 100
3.2.1 引用数据库的成分 100
3.2.2 SQL语句中的大小写规则 101
3.3 创建、删除和选择数据库 101
3.4 创建、删除、索引和更改表 102
3.4.1 CREATE TABLE语句 102
3.4.2 DROP TABLE 语句 106
3.4.3 创建和删除索引 106
3.4.4 ALTER TABLE语句 109
3.5 获取数据库和表的有关信息 111
3.6 检索记录 112
3.6.1 平凡连接 113
3.6.2 全连接 113
3.6.3 左连接 114
3.7 加注释 115
3.8 解决方案随笔 116
3.8.1 将子选择编写为连接 116
3.8.2 检查表中未给出的值 117
3.8.3 执行UNION操作 118
3.8.4 增加序列号列 119
3.8.5 对某个已有的列进行排序 120
3.8.6 非正常次序的串 120
3.8.7 建立计数表 120
3.8.8 检查表是否存在 121
3.9
MySQL
不支持的功能 121
第4章 查询优化 125
4.1 使用索引 125
4.1.1 索引的益处 125
4.1.2 索引的弊端 127
4.1.3 选择索引 127
4.2
MySQL
查询优化程序 129
4.2.1 优化程序怎样工作 129
4.2.2 忽略优化 131
4.3 列类型选择与查询效率 132
4.4 有效地装载数据 134
4.5 调度与锁定问题 136
4.6 管理员的优化 137
4.6.1 服务器参数 138
4.6.2 硬件问题 138
第二部分
MySQL
编程接口
第5章
MySQL
程序设计介绍 139
5.1
MySQL
可用的 API 142
5.1.1 C API 143
5.1.2 Perl DBI API 143
5.1.3 PHP API 145
5.2 选择API 146
5.2.1 执行环境 146
5.2.2 性能 147
5.2.3 开发时间 149
5.2.4 可移植性 151
第6章
MySQL
C API 152
6.1 建立客户机程序的一般过程 153
6.1.1 基本的系统需求 153
6.1.2 编译和连接客户机程序 153
6.2 客户机程序1—连接到服务器 154
6.3 客户机程序2—增加错误检查 156
6.4 客户机程序3—产生连接代码模块 158
6.5 客户机程序4—在运行时获取连接参
数 163
6.5.1 访问选项文件内容 164
6.5.2 分析命令行参数 166
6.6 处理查询 172
6.6.1 处理不返回结果集的查询 173
6.6.2 处理返回结果集的查询 174
6.6.3 通用目标查询处理程序 176
6.6.4 可选择的查询处理方法 178
6.6.5
mysql
_store_result()与
mysql
_
use _result()的比较 179
6.6.6 使用结果集元数据 181
6.7 客户机程序5—交互式查询程序 184
6.8 其他主题 185
6.8.1 在结果集上执行计算 185
6.8.2 对查询中有疑问的数据进行编码 187
6.8.3 图像数据的处理 188
6.8.4 获取表信息 189
6.8.5 需要避免的客户机程序设计错误 189
第7章 Perl DBI API 192
7.1 Perl 脚本的特点 192
7.2 Perl DBI 基础 193
7.2.1 DBI数据类型 193
7.2.2 一个简单的DBI脚本 193
7.2.3 处理错误 196
7.2.4 处理不返回结果集的查询 199
7.2.5 处理返回结果集的查询 200
7.2.6 引用问题 206
7.2.7 占位符和参数约束 209
7.2.8 指定连接参数 210
7.2.9 调试 213
7.2.10 使用结果集元数据 215
7.3 运行 DBI 218
7.3.1 生成历史同盟目录 218
7.3.2 发送成员资格更新通知 223
7.3.3 历史同盟成员项目编辑 227
7.3.4 寻找共同兴趣的历史同盟成员 231
7.3.5 联机历史同盟目录 232
7.4 在 Web 应用程序中使用 DBI 234
7.4.1 设置CGI脚本的Apache 235
7.4.2 CGI.pm的简要介绍 236
7.4.3 从Web脚本连接到
MySQL
服
务器 239
7.4.4 samp_db数据库浏览器 240
7.4.5 学分保存方案分数浏览器 243
7.4.6 历史同盟共同兴趣的搜索 246
第8章 PHP API 248
8.1 PHP 脚本的特点 248
8.2 PHP基础 248
8.2.1 使用函数和include 文件 253
8.2.2 一个简单的查询页面 257
8.2.3 处理查询结果 258
8.2.4 处理错误 261
8.2.5 引用问题 262
8.3 运行 PHP 263
8.3.1 输入学生分数 263
8.3.2 美国???统测验 269
8.3.3 历史同盟联机成员项的编辑 271
第三部分
MySQL
管理
第9章
MySQL
管理介绍 277
9.1 管理职责概述 277
9.2 常规管理 278
9.3 安全性 279
9.4 数据库修复和维护 279
第10章
MySQL
数据目录 280
10.1 数据目录的位置 280
10.2 数据目录的结构 281
10.2.1
MySQL
服务器怎样提供对数据
的访问 282
10.2.2 数据库的表示法 283
10.2.3 数据库表的表示法 283
10.2.4 数据库和表命名中的操作系统
约束 284
10.2.5 系统性能的数据目录结构的
含义 285
10.2.6
MySQL
的状态文件 286
10.3 重定位数据目录的内容 288
10.3.1 重定位方法 288
10.3.2 估计重定位的效果 289
10.3.3 重定位数据目录 289
10.3.4 重定位数据库 290
10.3.5 重定位数据库表 290
10.3.6 重定位状态文件 290
第11章 常规的
MySQL
管理 292
11.1 新的
MySQL
安装的安全性 292
11.2
MySQL
服务器的启动和关闭 293
11.2.1 用无特权的用户账号运行
MySQL
服务器 293
11.2.2 启动服务器的方法 295
11.2.3 关闭服务器 296
11.2.4 在不连接时收回服务器的控制 297
11.3 用户账号管理 298
11.3.1 创建新用户和授权 298
11.3.2 取消权限和删除用户 302
11.4 日志文件维护 303
11.5 备份和拷贝数据库 305
11.5.1 用
mysql
dump备份和拷贝数
据库 307
11.5.2 使用直接拷贝数据库备份和
拷贝方法 308
11.5.3 复制数据库 309
11.6 为数据恢复使用备份 309
11.6.1 恢复整个数据库 310
11.6.2 恢复单个的表 310
11.7 优化服务器 311
11.8 运行多个服务器 312
11.8.1 配置和安装多个服务器 313
11.8.2 多个服务器的启动过程 313
11.9 更新
MySQL
313
第12章 安全性 315
12.1 内部安全性:安全数据目录访问 315
12.2 外部安全性:安全网络访问 317
12.2.1
MySQL
授权表的结构和内容 317
12.2.2 服务器如何控制客户机的访问 320
12.2.3 授权表应避免的风险 323
12.2.4 不用GRANT建立用户 324
第13章 数据库维护和修复 328
13.1 检查和维护数据库表 328
13.1.1 myisamchk和 isamchk的
调用
语法 328
13.1.2 检查表 329
13.1.3 修复表 329
13.1.4 避免与
MySQL
服务器交互
作用 331
13.1.5 快速运行myisamchk和 isamchk 332
13.2 安排预防性的维护 333
13.2.1 用cron定期检查表 334
13.2.2 在系统启动期间检查表 335
第四部分 附 录
附录A 获得和安装软件 337
附录B 列类型参考 349
附录C 运算符和函数参考 356
附录D SQL 语法参考 384
附录E
MySQL
程序参考 408
附录F C API 参考 431
附录G Perl DBI API 参考 453
附录H PHP API 参考 465
附录 I 有用的第三方工具 482
附录 J 因特网服务商 484
DELIMITER $$DROP PROCEDURE IF EXISTS SP2 $$ CREATE PROCEDURE SP2() BEGINDeclare InputCustomerID int; Declare InputOrderID int; DeclareOrderStateDate Datetime;Select CustomerID into InputCustome...
存储程序可以分为
存储过程
和函数。在
MySQL
中,创建
存储过程
和函数使用的语句分别是CREATE PROCEDURE 和 CREATE FUNCTION。使用CALL语句来
调用
存储过程
,只能用输出变量返回值。函数可以从语句外
调用
(引用函数名),也能返回标量值。
存储过程
也可以
调用
其他
存储过程
。
在一个
存储过程
中把另一个
存储过程
当一个表来使用,在sql server中不支持直接从from后接
存储过程
。这个时候我们可以利用临时表来实现。举例: SELECT ID, RoleId, RoleType into #TempPurviewTableContainer FROM SystemPurview WHERE 1=0 INSERT #TempPurviewTab
--表格
mysql
> select corderno,mshippingcharges,mgiftwrapcharges from orders;+----------+------------------+------------------+| corderno | mshippingcharges | mgiftwrapcharges |+----------+------------...
I am trying to call a user defined stored procedure from a select statement and its giving me an error. However when I call a system procedure it works just fine. Is there a way to call a user defined...