我写了一个数据库系统,作业每个月调度一次,创建一些表的存档表,例如有一张表是“SysOpLog”,那么我就需要每月创建下几个月的存档表,如“SysOpLog200402”、“SysOpLog200403”等。
在创存档表的存储过程当中,创一个表之前会首先判断表是否已经存在,如果存在就不创建了。
于是就发现了上面的问题。
在创存档表的存储过程当中,创一个表之前会首先判断表是否已经存在,如果存在就不创建了。
于是就发现了上面的问题。
1.你看看表名的大小写是否一致
2.你试试下面的语句:
select * from sysobjects where id = object_id('dbo.objects_name') and sysstat & 0xf = 4
如果你的sa用户创建的表ProductInfo,是dbo.ProductInfo
而你现在如以a登陆,仍然可以创建表a.ProductInfo
这句语句很可能会返回多条记录,因为不同用户可以在同一个库中创建相同的对象。select * from sysobjects where id = object_id('dbo.t')
你把对象打全,所有着.对象名