
[dbo].[tng_add_propertydef]
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
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