灵魂腐蚀 发表于 2015-1-16 22:20:58

MSSQL教程之SQL循规蹈矩(24)嵌进SQL

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

因胸联盟 发表于 2015-1-19 09:08:26

所以你总能得到相应的升级版本,来满足你的需求。

老尸 发表于 2015-1-28 05:59:19

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。

乐观 发表于 2015-2-5 18:30:33

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

活着的死人 发表于 2015-2-13 05:55:11

现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.

飘灵儿 发表于 2015-3-3 16:36:17

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

金色的骷髅 发表于 2015-3-11 12:26:04

入门没那么困难,精通没那么容易

谁可相欹 发表于 2015-3-18 17:31:56

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

莫相离 发表于 2015-3-26 13:07:59

但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
页: [1]
查看完整版本: MSSQL教程之SQL循规蹈矩(24)嵌进SQL