dbo.contratos_grupos

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

False

Full Text Catalog
Full Text
Compression NONE
Row Count (~) 319
Created 1/12/2015 10:11:19 AM
Last Modified 10/29/2016 10:25:08 PM

Columns

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

True

1 - 1

False

False

nombre_contrato varchar 100 0 0

False

False

False

country_code varchar 2 0 0

False

False

False

fecha_venta datetime 8 23 3

False

False

False

fecha_firma datetime 8 23 3

False

False

False

fecha_vigencia datetime 8 23 3

False

False

False

fecha_vencimiento datetime 8 23 3

False

False

False

grupo smallint 2 5 0

False

False

False

responsable_cliente varchar 100 0 0

False

False

False

responsable_interno varchar 100 0 0

False

False

False

estado_contrato varchar 1 0 0

False

False

False

plazo_pago smallint 2 5 0

False

False

False

detalle_contrato text 0 0

False

False

False

codigo_contrato varchar 11 0 0

False

False

False

user_id_cliente int 4 10 0

False

False

False

user_id_interno int 4 10 0

False

False

False

Indexes

1
Key Name Columns Unique Type Description
PK__contrato__FF5F2A5629DA42C5 id_contrato

True

Triggers

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

True

True

AFTER INSERT

False

tU_contratos_grupos

True

True

AFTER UPDATE

False

Foreign Keys

2
Name Columns Description
FK__contratos__grupo__2CB6AF70 grupo
FK__contratos__plazo__2BC28B37 plazo_pago

SQL Script

Copy
CREATE TABLE dbo.contratos_grupos (
  id_contrato int IDENTITY,
  nombre_contrato varchar(100) NULL,
  country_code varchar(2) NULL,
  fecha_venta datetime NULL,
  fecha_firma datetime NULL,
  fecha_vigencia datetime NULL,
  fecha_vencimiento datetime NULL,
  grupo smallint NULL,
  responsable_cliente varchar(100) NULL,
  responsable_interno varchar(100) NULL,
  estado_contrato varchar(1) NULL,
  plazo_pago smallint NULL,
  detalle_contrato text NULL,
  codigo_contrato varchar(11) NULL,
  user_id_cliente int NULL,
  user_id_interno int NULL,
  PRIMARY KEY CLUSTERED (id_contrato) WITH (FILLFACTOR = 90)
)
ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
GO

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER trigger dbo.tI_contratos_grupos
   ON  dbo.contratos_grupos
   FOR INSERT
AS 
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for trigger here
 DECLARE @idcontrato int, @cc varchar(2), @cod varchar(11), @ff datetime, @ng varchar(100)

 SELECT 
 @idcontrato = inserted.id_contrato,
 @ff = inserted.fecha_firma, 
 @ng = grupos.nombre_grupo, 
 @cc = inserted.country_code
 from inserted, grupos
 where inserted.grupo = grupos.grupo

 if(@ff <> '' AND @ng <> '' AND @cc <> '')
  begin
   set @cod = Left(Upper(@ng),3)
      + @cc + convert(varchar(4),Year(@ff))
      + Right('00' + convert(varchar(2),Month(@ff)), 2)

   UPDATE contratos_grupos SET codigo_contrato = @cod
   WHERE id_contrato = @idcontrato
  end

END

GO
CREATE OR ALTER trigger dbo.tU_contratos_grupos
   ON  dbo.contratos_grupos
   FOR UPDATE
AS 
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for trigger here
 DECLARE @idcontrato int, @cc varchar(2), @cod varchar(11), @ff datetime, @ng varchar(100)

 SELECT 
 @idcontrato = inserted.id_contrato,
 @ff = inserted.fecha_firma, 
 @ng = grupos.nombre_grupo, 
 @cc = inserted.country_code
 from inserted, grupos
 where inserted.grupo = grupos.grupo

 if(@ff <> '' AND @ng <> '' AND @cc <> '')
  begin
   set @cod = Left(Upper(@ng),3)
      + @cc + convert(varchar(4),Year(@ff))
      + Right('00' + convert(varchar(2),Month(@ff)), 2)

   UPDATE contratos_grupos SET codigo_contrato = @cod
   WHERE id_contrato = @idcontrato
  end


END

GO

ALTER TABLE dbo.contratos_grupos
  ADD FOREIGN KEY (grupo) REFERENCES dbo.grupos (grupo)
GO

ALTER TABLE dbo.contratos_grupos
  ADD FOREIGN KEY (plazo_pago) REFERENCES dbo.plazos_pago (plazo_pago)
GO

Depends On

3