用SQL 语句查询 用户自己编写的 存储过程(Stored Procedure) & count 方法的奇怪之处

怎样用SQL语句查询自己到底写了哪些 存储过程?这对于资深的技术人员来说,可能是很简单的一个问题,但对于资历不深的人来说,可能要费下心思查下资料了。

                               

方法一:

                Select *  from sysobjects where xtype = 'P'

                and category = 0

                andleft(name,2) <> 'sp'

 

方法二:

                查询用户自己编写了多少个SP

                Select COUNT(*) frominformation_schema.routines

                where routine_type = 'PROCEDURE'

                and left(SPECIFIC_NAME,2)<> 'sp'

                and left(SPECIFIC_NAME,2)<> 'fn'

                and SPECIFIC_CATALOG ='testLocal'

方法三:

                usetestLocal

                go

                select count(*) from sysobjects

                where xtype = 'P'and category =0 and left(name,2) <> 'sp'

                go

                这条SELECT语句中的 xtype 可以 替换成 type,出来的效果是一样的。

 

 

今天发现 Count  方法很奇特。比如,我要粗略地知道Employee表中有多少条记录,我就写以下的SQL语句:

                select count(*) from Employee;

但其实也有其他的写法,效果和结果都是等价的:

                select count(1) from Employee;

一下语句在MySQL 和 SQL Server 是和上面的两条语句一样的,但在Oracle中是会出错的

                select count(‘iwop’) fromEmployee;

                select count('') from Employee;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值