看书的时候看到用语句建索引的时候有一段是
if exists (select*from dbo.sysobjects where id=object_id(N'test')and objectproperty(id,n'Is User Table')=1
这个语句主要有什么作用??? object()函数中的"N"有什么用? 盼指点一下在帮助里找了,但是没有找到,路过的朋友指点一下呀!!!!!!!!!!!!!!

解决方案 »

  1.   

    N是指Unicode编码
    SQL联机帮助上有
      

  2.   

    这个语句是检查是否存在test表的id=object_id(N'test') 表示存在test对象,N'test'是unicode字符串常量
    objectproperty(id,n'Is User Table')=1 表示是用户表 
      

  3.   

    帮助主题:   使用常量
    内容:
    使用常量
    常量是表示特定数据值的符号。常量的格式取决于它所表示的值的数据类型。常量也称为字面值。下面是一些常量的示例: 字符串: 
    'O''Brien'
    'The level for job_id: %d should be between %d and %d.'Unicode 字符串: 
    N'Michél'二进制字符串常量: 
    0x12Ef
    0x69048AEFDD010Ebit 常量由数字 0 或 1 表示。
    datetime 常量: 
    'April 15, 1998'
    '04/15/98'
    '14:30:24'
    '04:24 PM'integer 常量: 
    1894
    2decimal 常量: 
    1894.1204
    2.0float 和 real 常量: 
    101.5E5
    0.5E-2money 常量: 
    $12
    $542023.14uniqueidentifier 常量: 
    0xff19966f868b11d0b42d00c04fc964ff
    '6F9619FF-8B86-D011-B42D-00C04FC964FF'
      

  4.   

    系统表sysobjects中存放有数据库中所有对象及其属性;
    if ...语句是判断你所指定的对象是否存在;根据判断的结果来执行相应操作。N('')可以看作是一个函数;将括号内的内容转换为nvarchar的格式。
      

  5.   

    if exists (select*from dbo.sysobjects where id=object_id(N'test')and objectproperty(id,n'Is User Table')=1
    这个语句主要有什么作用??? object()函数中的"N"有什么用? 盼指点一下在前面在N是代表uncode码,可以防止乱码。。
    object_id()是获得对象ID号。。