兰色精灵 发表于 2015-1-16 22:36:06

MYSQL教程之利用存储历程时一个毛病的办理办法

由于MySQL数据库已经如此普及,对企业来说它无疑是一个更好的选择。存储历程|毛病|办理jackxm(原作)
这段工夫用了一下C++Builder,在挪用存储历程的时分碰到了一些成绩,问了良多中央都没有找到谜底,最初仍是靠本人,如今拿出来和人人分享。
示例代码:
StoredProc1->Params->Clear();
StoredProc1->Params->CreateParam(ftSmallint,"@m1",ptInput);
StoredProc1->Params->CreateParam(ftString,"@m2",ptOutput);
StoredProc1->Params->CreateParam(ftInteger,"@m3",ptOutput);
StoredProc1->Params->CreateParam(ftInteger,"@m4",ptOutput);
StoredProc1->Params->CreateParam(ftInteger,"@m5",ptOutput);

StoredProc1->Params->CreateParam(ftInteger,"Result",ptResult);
StoredProc1->Prepare();
StoredProc1->ExecProc();

成绩:挪用存储历程的时分老是报错,注重,时在实行StoredProc1->ExecProc()的时分就会报错,别的的中央报的毛病的办理办法不再本篇文章中。实行代码报错时的毛病信息提醒:毛病:indicatorvariablerequiredbutnotsupplied
缘故原由:当在实行的存储历程的时分,假如有一项进项空值的时分,就会产生如许的成绩
办理:在存储过程当中对产成的空值举行处置,就能够了

MySQL的双许可模式意味着,那些希望对数据库具有额外控制的人可以直接从数据库厂商那儿得到帮助。MySQLAB公司提供了支持和维护服务,诸如代码更新和补丁修补服务等,每年订阅费为大约3000美元。

不帅 发表于 2015-1-17 23:51:19

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

乐观 发表于 2015-1-21 10:44:16

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。

分手快乐 发表于 2015-1-30 15:47:01

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。

谁可相欹 发表于 2015-2-6 13:52:47

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

若天明 发表于 2015-2-16 08:54:39

我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!

柔情似水 发表于 2015-3-5 02:47:42

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

海妖 发表于 2015-3-11 22:46:41

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。

莫相离 发表于 2015-3-19 15:21:06

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。

再现理想 发表于 2015-3-28 20:10:26

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
页: [1]
查看完整版本: MYSQL教程之利用存储历程时一个毛病的办理办法