冷月葬花魂 发表于 2015-1-16 22:32:04

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

越来越多的开发者将继续选择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.ASTableName,a.fkey
FROMsysforeignkeysaINNERJOINsysobjectsbona.fkeyid=b.INNERJOINsysobjectscona.rkeyid=c.
WHEREc.=@PTableName

OPENcursorFKTable
FETCHNEXTFROMcursorFKTableINTO@TableName,@FKey

WHILE@@FETCH_STATUS=0
BEGIN

SELECT@FKName=a.FROMsyscolumnsaINNERjoinsysobjectsbONa.=b.WHEREb.=@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-1-19 16:13:40

大家注意一点。如下面的例子:

变相怪杰 发表于 2015-1-28 08:22:52

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

再见西城 发表于 2015-2-5 20:07:42

习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。

柔情似水 发表于 2015-2-13 11:37:23

发几份SQL课件,以飨阅者

分手快乐 发表于 2015-3-3 20:51:01

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

海妖 发表于 2015-3-11 13:40:12

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

冷月葬花魂 发表于 2015-3-18 21:20:14

比如日志传送、比如集群。。。

若相依 发表于 2015-3-26 18:43:56

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
页: [1]
查看完整版本: MYSQL网页编程之判别表中的数据是不是被其他表中利用过!!...