dbo.users_by_group

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 (~) 8410
Created 10/1/2007 3:29:34 PM
Last Modified 4/3/2016 12:31:48 AM

Columns

2
Key Name Data Type Length Precision Scale Not Null Identity Rule Default Computed Persisted Description
user_id int 4 10 0

True

False

False

group_id int 4 10 0

True

False

False

Indexes

1
Key Name Columns Unique Type Description
PK__users_by_group__48CFD27E user_id, group_id

True

Triggers

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

True

True

AFTER INSERT

False

tU_users_by_group

True

True

AFTER UPDATE

False

Foreign Keys

2
Name Columns Description
FK__users_by___group__7E37BEF6 group_id
FK__users_by___user___7F2BE32F user_id

SQL Script

Copy
CREATE TABLE dbo.users_by_group (
  user_id int NOT NULL,
  group_id int NOT NULL,
  PRIMARY KEY NONCLUSTERED (user_id, group_id) WITH (FILLFACTOR = 90)
)
ON [PRIMARY]
GO

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER trigger dbo.tI_users_by_group on dbo.users_by_group for INSERT as
/* ERwin Builtin Mon Oct 01 10:32:44 2007 */
/* INSERT trigger on users_by_group */
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 */
  /* groups R/14 users_by_group ON CHILD INSERT RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="groups"
      CHILD_OWNER="", CHILD_TABLE="users_by_group"
      P2C_VERB_PHRASE="R/14", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_14", FK_COLUMNS="group_id" */

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

  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* users R/29 users_by_group ON CHILD INSERT RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="users"
      CHILD_OWNER="", CHILD_TABLE="users_by_group"
      P2C_VERB_PHRASE="R/29", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_29", 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 users_by_group because users 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_users_by_group on dbo.users_by_group for UPDATE as
/* ERwin Builtin Mon Oct 01 10:32:44 2007 */
/* UPDATE trigger on users_by_group */
begin
  declare  @numrows int,
           @nullcnt int,
           @validcnt int,
           @insuser_id int, 
           @insgroup_id int,
           @errno   int,
           @errmsg  varchar(255)

  select @numrows = @@rowcount
  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* groups R/14 users_by_group ON CHILD UPDATE RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="groups"
      CHILD_OWNER="", CHILD_TABLE="users_by_group"
      P2C_VERB_PHRASE="R/14", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_14", FK_COLUMNS="group_id" */

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

  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* users R/29 users_by_group ON CHILD UPDATE RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="users"
      CHILD_OWNER="", CHILD_TABLE="users_by_group"
      P2C_VERB_PHRASE="R/29", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_29", 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 users_by_group because users 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.users_by_group
  ADD FOREIGN KEY (group_id) REFERENCES dbo.groups (group_id)
GO

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

Depends On

2