dbo.usuarios_roles

Description

Properties

Name Value
File Collation
File Group
Filestream File Group
Is Partitioned

False

Partitioned Column
Partition Scheme
File Groups
Filestream Partition Scheme
Filestream File Groups
Heap

True

Full Text Catalog
Full Text
Compression NONE
Row Count (~) 325
Created 10/1/2007 3:29:34 PM
Last Modified 4/3/2016 12:31:48 AM

Columns

3
Key Name Data Type Length Precision Scale Not Null Identity Rule Default Computed Persisted Description
rol smallint 2 5 0

True

False

False

user_id int 4 10 0

True

False

False

idioma smallint 2 5 0

True

False

False

Indexes

1
Key Name Columns Unique Type Description
PK__usuarios_roles__4CA06362 rol, user_id, idioma

True

Triggers

2
Name ANSI Nulls ON Quoted Identifier ON On Not For Replication Description
tI_usuarios_roles

True

True

AFTER INSERT

False

tU_usuarios_roles

True

True

AFTER UPDATE

False

Foreign Keys

3
Name Columns Description
FK__usuarios___idiom__02084FDA idioma
FK__usuarios___user___02FC7413 user_id
FK__usuarios_ro__rol__03F0984C rol

SQL Script

Copy
CREATE TABLE dbo.usuarios_roles (
  rol smallint NOT NULL,
  user_id int NOT NULL,
  idioma smallint NOT NULL,
  PRIMARY KEY NONCLUSTERED (rol, user_id, idioma) WITH (FILLFACTOR = 90)
)
ON [PRIMARY]
GO

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER trigger dbo.tI_usuarios_roles on dbo.usuarios_roles for INSERT as
/* ERwin Builtin Mon Oct 01 10:32:44 2007 */
/* INSERT trigger on usuarios_roles */
begin
  declare  @numrows int,
           @nullcnt int,
           @validcnt int,
           @errno   int,
           @errmsg  varchar(255)

  select @numrows = @@rowcount
  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* idiomas R/242 usuarios_roles ON CHILD INSERT RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="idiomas"
      CHILD_OWNER="", CHILD_TABLE="usuarios_roles"
      P2C_VERB_PHRASE="R/242", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_242", FK_COLUMNS="idioma" */

  if
    /* %ChildFK(" or",update) */
    update(idioma)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,idiomas
        where
          /* %JoinFKPK(inserted,idiomas) */
          inserted.idioma = idiomas.idioma
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30002,
             @errmsg = 'Cannot INSERT usuarios_roles because idiomas does not exist.'
      goto error
    end
  end

  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* users R/241 usuarios_roles ON CHILD INSERT RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="users"
      CHILD_OWNER="", CHILD_TABLE="usuarios_roles"
      P2C_VERB_PHRASE="R/241", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_241", FK_COLUMNS="user_id" */

  if
    /* %ChildFK(" or",update) */
    update(user_id)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,users
        where
          /* %JoinFKPK(inserted,users) */
          inserted.user_id = users.user_id
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30002,
             @errmsg = 'Cannot INSERT usuarios_roles because users does not exist.'
      goto error
    end
  end

  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* roles R/240 usuarios_roles ON CHILD INSERT RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="roles"
      CHILD_OWNER="", CHILD_TABLE="usuarios_roles"
      P2C_VERB_PHRASE="R/240", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_240", FK_COLUMNS="rol" */

  if
    /* %ChildFK(" or",update) */
    update(rol)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,roles
        where
          /* %JoinFKPK(inserted,roles) */
          inserted.rol = roles.rol
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30002,
             @errmsg = 'Cannot INSERT usuarios_roles because roles does not exist.'
      goto error
    end
  end


  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  return
error:
    raiserror (@errmsg,@errno,1) 
    rollback transaction
end

GO
CREATE OR ALTER trigger dbo.tU_usuarios_roles on dbo.usuarios_roles for UPDATE as
/* ERwin Builtin Mon Oct 01 10:32:44 2007 */
/* UPDATE trigger on usuarios_roles */
begin
  declare  @numrows int,
           @nullcnt int,
           @validcnt int,
           @insrol smallint, 
           @insuser_id int, 
           @insidioma smallint,
           @errno   int,
           @errmsg  varchar(255)

  select @numrows = @@rowcount
  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* idiomas R/242 usuarios_roles ON CHILD UPDATE RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="idiomas"
      CHILD_OWNER="", CHILD_TABLE="usuarios_roles"
      P2C_VERB_PHRASE="R/242", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_242", FK_COLUMNS="idioma" */

  if
    /* %ChildFK(" or",update) */
    update(idioma)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,idiomas
        where
          /* %JoinFKPK(inserted,idiomas) */
          inserted.idioma = idiomas.idioma
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30007,
             @errmsg = 'Cannot UPDATE usuarios_roles because idiomas does not exist.'
      goto error
    end
  end

  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* users R/241 usuarios_roles ON CHILD UPDATE RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="users"
      CHILD_OWNER="", CHILD_TABLE="usuarios_roles"
      P2C_VERB_PHRASE="R/241", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_241", FK_COLUMNS="user_id" */

  if
    /* %ChildFK(" or",update) */
    update(user_id)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,users
        where
          /* %JoinFKPK(inserted,users) */
          inserted.user_id = users.user_id
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30007,
             @errmsg = 'Cannot UPDATE usuarios_roles because users does not exist.'
      goto error
    end
  end

  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* roles R/240 usuarios_roles ON CHILD UPDATE RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="roles"
      CHILD_OWNER="", CHILD_TABLE="usuarios_roles"
      P2C_VERB_PHRASE="R/240", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_240", FK_COLUMNS="rol" */

  if
    /* %ChildFK(" or",update) */
    update(rol)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,roles
        where
          /* %JoinFKPK(inserted,roles) */
          inserted.rol = roles.rol
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30007,
             @errmsg = 'Cannot UPDATE usuarios_roles because roles does not exist.'
      goto error
    end
  end


  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  return
error:
    raiserror (@errmsg,@errno,1) 
    rollback transaction
end

GO

ALTER TABLE dbo.usuarios_roles
  ADD FOREIGN KEY (idioma) REFERENCES dbo.idiomas (idioma)
GO

ALTER TABLE dbo.usuarios_roles
  ADD FOREIGN KEY (user_id) REFERENCES dbo.users (user_id)
GO

ALTER TABLE dbo.usuarios_roles
  ADD FOREIGN KEY (rol) REFERENCES dbo.roles (rol)
GO