仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1096|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL教程之SQL循规蹈矩(24)嵌进SQL

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:20:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但MySQL把同一个数据表里的索引总数限制为16个。嵌进SQL
为了更好的了解嵌进SQL,本节使用一个详细例子来讲明。嵌进SQL同意程序毗连数据库而且包含SQL代码到程序中,如许在程序中就能够对数据库举行利用、操纵和处置数据等等。以下是用C言语编写的利用嵌进SQL的例程,它将打印一个呈报;这个程序必需在一般的编译之前先预编译SQL语句。嵌进SQL关于分歧体系是纷歧样的,以是在分歧的体系中对以下的程序稍作修正,出格是变量的声明和历程纪录等。在嵌进SQL时,思索收集、数据库办理体系、操纵体系是相称主要的。
以下是具体的代码:
#include<stdio.h>
/*以下这部分是声明主机变量,它将利用于程序中*/
EXECSQLBEGINDECLARESECTION;
intBuyerID;
charFirstName[100],LastName[100],Item[100];
EXECSQLENDDECLARESECTION;

/*以下包含SQLCA变量,它能够用来举行毛病反省*/
EXECSQLINCLUDESQLCA;
main(){
/*以下毗连数据库*/
EXECSQLCONNECTUserID/Password;
/*以下是毗连数据库并反省是不是有毛病发生T*/if(sqlca.sqlcode){
printf(Printer,"Errorconnectingtodatabaseserver.
");
exit();
}
printf("Connectedtodatabaseserver.
");
/*上面声明一个"Cursor"。它将在查询了局多于一行的时分利用*/
EXECSQLDECLAREItemCursorCURSORFOR
SELECTITEM,BUYERID
FROMANTIQUES
ORDERBYITEM;
EXECSQLOPENItemCursor;
/*你能够在这里还能够到场别的一些毛病反省的内容,这里就省略了*/
/*当这个CURSOR没无数据,sqlcode将被发生以同意我们加入轮回。这里注重,为了复杂起见,我们使程序碰到毛病的时分就加入任何的sqlcode。*/
EXECSQLFETCHItemCursorINTO:Item,:BuyerID;
while(!sqlca.sqlcode){
EXECSQLUPDATEANTIQUES
SETPRICE=PRICE+5
WHEREITEM=:ItemANDBUYERID=:BuyerID;
EXECSQLSELECTOWNERFIRSTNAME,OWNERLASTNAME
INTO:FirstName,:LastName
FROMANTIQUEOWNERS
WHEREBUYERID=:BuyerID;
printf("%25s%25s%25s",FirstName,LastName,Item);

EXECSQLFETCHItemCursorINTO:Item,:BuyerID;
}
/*封闭CURSOR,提交变更并加入程序。*/
EXECSQLCLOSEDataCursor;
EXECSQLCOMMITRELEASE;
exit();
}
CSV逻辑上由逗号分割数据的存储引擎
莫相离 该用户已被删除
9#
发表于 2015-3-26 13:07:59 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
谁可相欹 该用户已被删除
8#
发表于 2015-3-18 17:31:56 | 只看该作者
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-11 12:26:04 | 只看该作者
入门没那么困难,精通没那么容易
飘灵儿 该用户已被删除
6#
发表于 2015-3-3 16:36:17 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
活着的死人 该用户已被删除
5#
发表于 2015-2-13 05:55:11 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
乐观 该用户已被删除
地板
发表于 2015-2-5 18:30:33 | 只看该作者
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
老尸 该用户已被删除
板凳
发表于 2015-1-28 05:59:19 | 只看该作者
索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-19 09:08:26 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 09:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表