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

Columns

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

True

False

False

access_type varchar 20 0 0

False

False

False

service_id varchar 25 0 0

True

False

False

Indexes

1
Key Name Columns Unique Type Description
PK__groups_a__36974E2B1DEA0144 group_id, service_id

True

Triggers

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

True

True

AFTER INSERT

False

tU_groups_acl

True

True

AFTER UPDATE

False

Foreign Keys

4
Name Columns Description
FK__groups_ac__group__5160899A group_id
FK__groups_ac__group__5CD23C46 group_id
FK__groups_ac__servi__5254ADD3 service_id
FK__groups_ac__servi__5EBA84B8 service_id

SQL Script

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

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

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

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

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

ALTER TABLE dbo.groups_acl
  ADD FOREIGN KEY (group_id) REFERENCES dbo.groups (group_id)
GO

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

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

Depends On

3