仓酷云

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

[学习教程] MYSQL网页编程之判别表中的数据是不是被其他表中利用过!!...

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:04 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
越来越多的开发者将继续选择MySQL。Evans的总裁JohnAndrews表示,MySQL学习教程用户对MySQL和其他开源数据库的评价正在赶上甚至超过很多专有商业数据库软件。数据

CREATEPROCEDUREdbo.SystemFuntion_HasBeUsed
@PTableNameVarchar(100),--要反省数据是不是被利用的主键表称号
@PKValueINT,--主键字段的值
@IsUsedINTOUTPUT
AS

DECLARE@TableNameVARCHAR(100)--外键表的称号
DECLARE@FKNameVARCHAR(100)--外键字段称号
DECLARE@FKeyINT

DECLARE@SQLVARCHAR(8000)

SET@sql=SELECT0ascolCountinto#tempTableColUNION

DECLAREcursorFKTableCURSORFOR
SELECTb.[name]ASTableName,a.fkey
FROMsysforeignkeysaINNERJOINsysobjectsbona.fkeyid=b.[id]INNERJOINsysobjectscona.rkeyid=c.[id]
WHEREc.[name]=@PTableName

OPENcursorFKTable
FETCHNEXTFROMcursorFKTableINTO@TableName,@FKey

WHILE@@FETCH_STATUS=0
BEGIN

SELECT@FKName=a.[name]FROMsyscolumnsaINNERjoinsysobjectsbONa.[id]=b.[id]WHEREb.[name]=@TableNameand@FKey=a.colid

SET@sql=@sql+SELECTCASEWHENCOUNT(*)=0THEN0ELSE1ENDFROM+@TableName+WHERE+@FKName+=+CAST(@PKValueASVARCHAR(100))
SET@sql=@sql+UNION

FETCHNEXTFROMcursorFKTableINTO@TableName,@FKey
END
CLOSEcursorFKTable
DEALLOCATEcursorFKTable

SELECT@sql=left(@sql,len(@sql)-6)
exec(@sql)
SELECT@IsUsed=@@ROWCOUNT-1
GO


利用办法:

/***********猎取以后主键值是不是被其他表利用过(@HasPKValueBeUsedasHasPKValueBeUsed)*************/
DECLARE@HasPKValueBeUsedINT
EXECUTESystemFuntion_HasBeUsedTLSubjectPlan,@SubjectPlanID,@IsUsed=@HasPKValueBeUsedOUTPUT
/*******************************************************************************/
尽管DBaaS模式有缺点,但它还是适合某些客户群体,这为解决方案提供商提供了新的商机。鉴于云服务的增长,解决方案提供商除了拥抱这些技术还有什么选择呢?如果他们不这样做,他们就会冒着被竞争对手击败的风险。但他们不能只想到如何把DBaaS的利润率与企业内部系统相比较。
冷月葬花魂 该用户已被删除
沙发
 楼主| 发表于 2015-3-18 21:20:14 | 显示全部楼层
比如日志传送、比如集群。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-16 18:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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