object_id()说明
2016-01-27 11:23
477 查看
http://blog.csdn.net/u014180504/article/details/50589645
http://blog.csdn.net/u014180504/article/details/50592815
之前写了这两个博客,但是有些博友对于object_id不理解,这里就给大家说明一下:
object_id()是一个函数,获取相应过程的object_id
我们use 数据库名称
--查询所有存储过程
select * from sys.objects where type = 'P';
我们可以看到有object_id列,这是因为在sysobjects系统表中存储着数据库的所有对象,每个对象都有一个唯一的id号进行标识.
object_id就是根据对象名称返回该对象的id.
select object_id(对象名)等同于select id from sysobjects where name=对象名
注: 如果参数是一个临时表名,则必须指定所属数据库.你举出的OBJECT_ID('Tempdb..##flowcount') 就属于这种情况.说明这个临时表是数据库Tempdb的.
其实就是先去查找一下我们要要创建的存储过程名对应的ID,如果有ID存在说明我们要创建的存储过程名已经存在了,所以就把它删除重建,这样大家理解了吧,
创建存储过程之前都要先判断同名存储过程是否已经存在,如果已经存在就要删除或者做处理,要不然会报错。
http://blog.csdn.net/u014180504/article/details/50592815
之前写了这两个博客,但是有些博友对于object_id不理解,这里就给大家说明一下:
object_id()是一个函数,获取相应过程的object_id
我们use 数据库名称
--查询所有存储过程
select * from sys.objects where type = 'P';
我们可以看到有object_id列,这是因为在sysobjects系统表中存储着数据库的所有对象,每个对象都有一个唯一的id号进行标识.
object_id就是根据对象名称返回该对象的id.
select object_id(对象名)等同于select id from sysobjects where name=对象名
注: 如果参数是一个临时表名,则必须指定所属数据库.你举出的OBJECT_ID('Tempdb..##flowcount') 就属于这种情况.说明这个临时表是数据库Tempdb的.
其实就是先去查找一下我们要要创建的存储过程名对应的ID,如果有ID存在说明我们要创建的存储过程名已经存在了,所以就把它删除重建,这样大家理解了吧,
创建存储过程之前都要先判断同名存储过程是否已经存在,如果已经存在就要删除或者做处理,要不然会报错。
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- Tomcat端口被占用解决方法(不用重启)
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- “传奇”图象数据存储方式
- PostgreSQL教程(十九):SQL语言函数