dbo.users_acl

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 (~) 280
Created 10/1/2007 3:29:34 PM
Last Modified 4/14/2020 11:27:00 AM

Columns

3
Key Name Data Type Length Precision Scale Not Null Identity Rule Default Computed Persisted Description
access_type varchar 20 0 0

False

False

False

service_id varchar 25 0 0

True

False

False

user_id int 4 10 0

True

False

False

Indexes

1
Key Name Columns Unique Type Description
PK__users_ac__D5965BDE1216C6A2 service_id, user_id

True

Triggers

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

True

True

AFTER INSERT

False

tU_users_acl

True

True

AFTER UPDATE

False

Foreign Keys

6
Name Columns Description
FK__users_acl__servi__4AB38C0B service_id
FK__users_acl__servi__543CF645 service_id
FK__users_acl__servi__580D8729 service_id
FK__users_acl__user___4C9BD47D user_id
FK__users_acl__user___55311A7E user_id
FK__users_acl__user___5BDE180D user_id

SQL Script

Copy
CREATE TABLE dbo.users_acl (
  access_type varchar(20) NULL,
  service_id varchar(25) NOT NULL,
  user_id int NOT NULL,
  PRIMARY KEY NONCLUSTERED (service_id, user_id) WITH (FILLFACTOR = 90)
)
ON [PRIMARY]
GO

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER trigger dbo.tI_users_acl on dbo.users_acl for INSERT as
/* ERwin Builtin Mon Oct 01 10:32:44 2007 */
/* INSERT trigger on users_acl */
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 */
  /* users R/67 users_acl ON CHILD INSERT RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="users"
      CHILD_OWNER="", CHILD_TABLE="users_acl"
      P2C_VERB_PHRASE="R/67", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_67", 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_acl because users does not exist.'
      goto error
    end
  end

  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* services R/66 users_acl ON CHILD INSERT RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="services"
      CHILD_OWNER="", CHILD_TABLE="users_acl"
      P2C_VERB_PHRASE="R/66", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_66", FK_COLUMNS="service_id" */

  if
    /* %ChildFK(" or",update) */
    update(service_id)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,services
        where
          /* %JoinFKPK(inserted,services) */
          inserted.service_id = services.service_id
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30002,
             @errmsg = 'Cannot INSERT users_acl because services 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_acl on dbo.users_acl for UPDATE as
/* ERwin Builtin Mon Oct 01 10:32:44 2007 */
/* UPDATE trigger on users_acl */
begin
  declare  @numrows int,
           @nullcnt int,
           @validcnt int,
           @insservice_id varchar(10), 
           @insuser_id int,
           @errno   int,
           @errmsg  varchar(255)

  select @numrows = @@rowcount
  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* users R/67 users_acl ON CHILD UPDATE RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="users"
      CHILD_OWNER="", CHILD_TABLE="users_acl"
      P2C_VERB_PHRASE="R/67", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_67", 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_acl because users does not exist.'
      goto error
    end
  end

  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* services R/66 users_acl ON CHILD UPDATE RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="services"
      CHILD_OWNER="", CHILD_TABLE="users_acl"
      P2C_VERB_PHRASE="R/66", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_66", FK_COLUMNS="service_id" */

  if
    /* %ChildFK(" or",update) */
    update(service_id)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,services
        where
          /* %JoinFKPK(inserted,services) */
          inserted.service_id = services.service_id
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30007,
             @errmsg = 'Cannot UPDATE users_acl because services 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_acl
  ADD FOREIGN KEY (service_id) REFERENCES dbo.services (service_id)
GO

ALTER TABLE dbo.users_acl
  ADD FOREIGN KEY (service_id) REFERENCES dbo.services (service_id)
GO

ALTER TABLE dbo.users_acl
  ADD FOREIGN KEY (service_id) REFERENCES dbo.services (service_id)
GO

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

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

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

Depends On

3