Stored Procedures [dbo].[tng_add_propertydef]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@classnamevarchar(30)30
@namevarchar(30)30
@datatypevarchar(20)20
@lengthint4
@is_keytinyint1
@requiredtinyint1
@readonlytinyint1
@defaultvarchar(255)255
@storagevarchar(32)32
@storage_fieldvarchar(30)30
@property_groupvarchar(10)10
@method_namevarchar(30)30
Permissions
TypeActionOwning Principal
GrantExecuteuniadmin
GrantExecutewvadmin
SQL Script
/****** Object:  Stored Procedure dbo.tng_add_propertydef    Script Date: 12/1/2005 11:50:14 PM ******/

CREATE procedure dbo.tng_add_propertydef (
         @classname        varchar(30) ,
           @name            varchar(30) ,
         @datatype        varchar(20) ,
         @length        int,
         @is_key        tinyint=0,
         @required        tinyint=0,
         @readonly        tinyint=0,
         @default        varchar(255) =NULL,
         @storage        varchar(32) =NULL,
         @storage_field varchar(30) =NULL,
         @property_group    varchar(10) =NULL,
         @method_name        varchar(30)=null
         )
  as         
declare @class_id        int
declare @rc        int
declare @err_msg varchar(255)


     if(    upper(@classname) = 'CLASS')
      select @class_id=0
    else
    begin
      select @class_id=class_id from dbo.tng_class where name=@classname
      if (@class_id is null)
      begin
           select @err_msg='MSG:(90026) add_property_def: bad @classname: '+@classname
        raiserror 90026  @err_msg
        return
      end
    end
    
    if( (@storage is not null) and (@storage_field is null) )
    begin  /*if no specify for @storage_field, @name is same as @storage_field*/
       select @storage_field=lower(@name)
    end

    select @rc=-1
    exec dbo.tng_is_same_property  @classname =    @classname,
                   @name =    @name,
                   @datatype=@datatype,
                   @length=@length,
                   @is_key=@is_key,
                   @required=@required,
                   @instance_storage= @storage,
                   @storage_field =@storage_field,
                   @default_value=@default,
                   @rc=@rc OUTPUT
    if(@rc=0)
       insert into dbo.tng_property_definition ( class_id,   name,  datatype, length, is_key, required, default_value,
                                     instance_storage, storage_field, property_group, method_name, readonly, override)
                                 values ( @class_id, @name, @datatype, @length, @is_key, @required, @default,
                                       @storage,  @storage_field,    @property_group, @method_name, @readonly,  1)
    if(@@error!=0)
    begin
      select @err_msg='MSG:(90027) Failed to insert entry for property of class name: '+@classname
      raiserror 90027 @err_msg
    end
GO
GRANT EXECUTE ON  [dbo].[tng_add_propertydef] TO [uniadmin]
GRANT EXECUTE ON  [dbo].[tng_add_propertydef] TO [wvadmin]
GO
Uses