SQLSERVER使用中的Tips

发表于:2007-06-07来源:作者:点击数: 标签:
收集了一些 数据库 使用中容易疏忽的小知识点。 一. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPersonData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 中的object_id(N'[dbo].[PerPersonData]')是什么意思?那个objec
收集了一些数据库使用中容易疏忽的小知识点。

一.
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPersonData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
中的object_id(N'[dbo].[PerPersonData]')是什么意思?那个object_id函数?那个N?
还有OBJECTPROPERTY(id, N'IsUserTable') = 1中的OBJECTPROPERTY函数是什么意思?那个=1又是什么意思?
A:OBJECT_ID:返回数据库对象标识号。N是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(PerPersonData)。
OBJECTPROPERTY:返回当前数据库中对象的有关信息。1表“真”。同样可以写成OBJECTPROPERTY(id, sUserTable) = 1。
整条语句的意思是判断数据库里有没有存在PerPersonData这样一张表。
整条语句可以简写成:
if exists (select * from sysobjects where objectproperty(object_id('PerPersonData'),'istable') = 1)

二.
从数据库随机提取若干条记录:select top n * from Table order by newid()

原文转自:http://www.ltesting.net