none
É possível criar uma trigger a partir de uma procedure? RRS feed

  • Pergunta

  • É possível criar uma trigger a partir de uma procedure?

    estou tentando e está dando erro

    será que alguém ai saberia como fazer?
    segunda-feira, 9 de abril de 2007 19:10

Respostas

  •  

    isso nao e possivel a menos que vc. use um exec()

     


    Create table Exemplo (campo int)
    drop proc criatrigger
    create proc criatrigger
    as

    declare @executar varchar(1000)

    Set @executar = 'create trigger tr on exemplo after insert as  print ''oi'''
    exec (@executar)

     

    Abs; qual a sua ideia ?

    segunda-feira, 9 de abril de 2007 19:16

Todas as Respostas

  •  

    isso nao e possivel a menos que vc. use um exec()

     


    Create table Exemplo (campo int)
    drop proc criatrigger
    create proc criatrigger
    as

    declare @executar varchar(1000)

    Set @executar = 'create trigger tr on exemplo after insert as  print ''oi'''
    exec (@executar)

     

    Abs; qual a sua ideia ?

    segunda-feira, 9 de abril de 2007 19:16
  • Massa, deu certo!!!!

     

    Marcelo só tem um problema dentro da trigger tem um raiserror e tá dando problema quando eu coloco aspas duplas para aceitar na string.

     

    Como eu devo fazer?

     

    segunda-feira, 9 de abril de 2007 19:36
  • veja o meu print 'oi' vc. tem que colocar  '''oi'''

     

    Abs;

    segunda-feira, 9 de abril de 2007 19:40
  • Não deu certo

     

    O código é o seguinte:

     

     declare @executar varchar(6000)
     
     Set @executar = 'CREATE trigger tU_TBINTE_PESSOA on dbo.TBINTE_PESSOA
        FOR UPDATE
        as
      /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
      /* UPDATE trigger on TBINTE_PESSOA */
      begin
        declare  @numrows int,
                 @nullcnt int,
                 @validcnt int,
                 @inscd_Pessoa int,
                 @errno   int,
                 @errmsg  varchar(255)
      
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_PESSOA R/85 TBINTE_TELEFONE ON PARENT UPDATE NO ACTION */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_PESSOA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_TELEFONE"
          P2C_VERB_PHRASE="R/85", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="R_85", FK_COLUMNS="cd_Pessoa" */
        if
          /* %ParentPK(" or",update) */
          update(cd_Pessoa)
        begin
          if exists (
            select * from deleted,TBINTE_TELEFONE
            where
              /*  %JoinFKPK(TBINTE_TELEFONE,deleted," = "," and") */
              TBINTE_TELEFONE.cd_Pessoa = deleted.cd_Pessoa
          )
          begin
            select @errno  = 30005,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_TELEFONE exists.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_PESSOA R/83 TBINTE_ENDERECO ON PARENT UPDATE NO ACTION */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_PESSOA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_ENDERECO"
          P2C_VERB_PHRASE="R/83", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="R_83", FK_COLUMNS="cd_Pessoa" */
        if
          /* %ParentPK(" or",update) */
          update(cd_Pessoa)
        begin
          if exists (
            select * from deleted,TBINTE_ENDERECO
            where
              /*  %JoinFKPK(TBINTE_ENDERECO,deleted," = "," and") */
              TBINTE_ENDERECO.cd_Pessoa = deleted.cd_Pessoa
          )
          begin
            select @errno  = 30005,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_ENDERECO exists.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_PESSOA R/68 TBINTE_OCORRENCIA_TBINTE_PESSOA ON PARENT UPDATE NO ACTION */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_PESSOA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_OCORRENCIA_TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/68", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="R_68", FK_COLUMNS="cd_Pessoa" */
        if
          /* %ParentPK(" or",update) */
          update(cd_Pessoa)
        begin
          if exists (
            select * from deleted,TBINTE_OCORRENCIA_TBINTE_PESSOA
            where
              /*  %JoinFKPK(TBINTE_OCORRENCIA_TBINTE_PESSOA,deleted," = "," and") */
              TBINTE_OCORRENCIA_TBINTE_PESSOA.cd_Pessoa = deleted.cd_Pessoa
          )
          begin
            select @errno  = 30005,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_OCORRENCIA_TBINTE_PESSOA exists.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_PESSOA R/65 TBINTE_HORARIOESPECIAL_TBINTE_PESSOA ON PARENT UPDATE NO ACTION */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_PESSOA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_HORARIOESPECIAL_TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/65", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="R_65", FK_COLUMNS="cd_Pessoa" */
        if
          /* %ParentPK(" or",update) */
          update(cd_Pessoa)
        begin
          if exists (
            select * from deleted,TBINTE_HORARIOESPECIAL_TBINTE_PESSOA
            where
              /*  %JoinFKPK(TBINTE_HORARIOESPECIAL_TBINTE_PESSOA,deleted," = "," and") */
              TBINTE_HORARIOESPECIAL_TBINTE_PESSOA.cd_Pessoa = deleted.cd_Pessoa
          )
          begin
            select @errno  = 30005,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_HORARIOESPECIAL_TBINTE_PESSOA exists.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_PESSOA R/60 TBINTE_GRATIFICACAO_TBINTE_PESSOA ON PARENT UPDATE RESTRICT */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_PESSOA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_GRATIFICACAO_TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/60", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="fkTBINT_GRAT_TBINT_PES_TBINT_PES", FK_COLUMNS="cd_Pessoa" */
        if
          /* %ParentPK(" or",update) */
          update(cd_Pessoa)
        begin
          if exists (
            select * from deleted,TBINTE_GRATIFICACAO_TBINTE_PESSOA
            where
              /*  %JoinFKPK(TBINTE_GRATIFICACAO_TBINTE_PESSOA,deleted," = "," and") */
              TBINTE_GRATIFICACAO_TBINTE_PESSOA.cd_Pessoa = deleted.cd_Pessoa
          )
          begin
            select @errno  = 30005,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_GRATIFICACAO_TBINTE_PESSOA exists.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_PESSOA R/51 TBINTE_TIPOPESSOA_TBINTE_PESSOA ON PARENT UPDATE RESTRICT */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_PESSOA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_TIPOPESSOA_TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/51", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Pes_TipPes", FK_COLUMNS="cd_Pessoa" */
        if
          /* %ParentPK(" or",update) */
          update(cd_Pessoa)
        begin
          if exists (
            select * from deleted,TBINTE_TIPOPESSOA_TBINTE_PESSOA
            where
              /*  %JoinFKPK(TBINTE_TIPOPESSOA_TBINTE_PESSOA,deleted," = "," and") */
              TBINTE_TIPOPESSOA_TBINTE_PESSOA.cd_Pessoa = deleted.cd_Pessoa
          )
          begin
            select @errno  = 30005,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_TIPOPESSOA_TBINTE_PESSOA exists.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_PESSOA R/26 TBINTE_INFORMACAO ON PARENT UPDATE RESTRICT */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_PESSOA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_INFORMACAO"
          P2C_VERB_PHRASE="R/26", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_TBAssPes_Pes", FK_COLUMNS="cd_Pessoa" */
        if
          /* %ParentPK(" or",update) */
          update(cd_Pessoa)
        begin
          if exists (
            select * from deleted,TBINTE_INFORMACAO
            where
              /*  %JoinFKPK(TBINTE_INFORMACAO,deleted," = "," and") */
              TBINTE_INFORMACAO.cd_Pessoa = deleted.cd_Pessoa
          )
          begin
            select @errno  = 30005,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_INFORMACAO exists.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_LOTACAO R/78 TBINTE_PESSOA ON CHILD UPDATE SET NULL */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_LOTACAO"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/78", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="R_78", FK_COLUMNS="ci_Lotacao" */
        if
          /* %ChildFK(" or",update) */
          update(ci_Lotacao)
        begin
          update TBINTE_PESSOA
            set
              /* %SetFK(TBINTE_PESSOA,NULL) */
              TBINTE_PESSOA.ci_Lotacao = NULL
            from TBINTE_PESSOA,inserted
            where
              /* %JoinPKPK(TBINTE_PESSOA,inserted," = "," and") */
        TBINTE_PESSOA.cd_Pessoa = inserted.cd_Pessoa and
        
              not exists (
                select * from TBINTE_LOTACAO
                where
                  /* %JoinFKPK(inserted,TBINTE_LOTACAO," = "," and") */
                  inserted.ci_Lotacao = TBINTE_LOTACAO.ci_Lotacao
              )
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_GRADE R/39 TBINTE_PESSOA ON CHILD UPDATE RESTRICT */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_GRADE"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/39", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Grade_HR_Pessoa", FK_COLUMNS="cd_Grade" */
        if
          /* %ChildFK(" or",update) */
          update(cd_Grade)
        begin
          select @nullcnt = 0
          select @validcnt = count(*)
            from inserted,TBINTE_GRADE
              where
                /* %JoinFKPK(inserted,TBINTE_GRADE) */
                inserted.cd_Grade = TBINTE_GRADE.cd_Grade
          /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
         
          if @validcnt + @nullcnt != @numrows
          begin
            select @errno  = 30007,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_GRADE does not exist.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_CARGAHORARIA R/37 TBINTE_PESSOA ON CHILD UPDATE RESTRICT */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_CARGAHORARIA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/37", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_CargaHR_Pess", FK_COLUMNS="ci_CargaHoraria" */
        if
          /* %ChildFK(" or",update) */
          update(ci_CargaHoraria)
        begin
          select @nullcnt = 0
          select @validcnt = count(*)
            from inserted,TBINTE_CARGAHORARIA
              where
                /* %JoinFKPK(inserted,TBINTE_CARGAHORARIA) */
                inserted.ci_CargaHoraria = TBINTE_CARGAHORARIA.ci_CargaHoraria
          /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
         
          if @validcnt + @nullcnt != @numrows
          begin
            select @errno  = 30007,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_CARGAHORARIA does not exist.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_GRUPO R/17 TBINTE_PESSOA ON CHILD UPDATE SET NULL */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_GRUPO"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/17", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Grupo_Pessoa", FK_COLUMNS="ci_Grupo" */
        if
          /* %ChildFK(" or",update) */
          update(ci_Grupo)
        begin
          update TBINTE_PESSOA
            set
              /* %SetFK(TBINTE_PESSOA,NULL) */
              TBINTE_PESSOA.ci_Grupo = NULL
            from TBINTE_PESSOA,inserted
            where
              /* %JoinPKPK(TBINTE_PESSOA,inserted," = "," and") */
        TBINTE_PESSOA.cd_Pessoa = inserted.cd_Pessoa and
        
              not exists (
                select * from TBINTE_GRUPO
                where
                  /* %JoinFKPK(inserted,TBINTE_GRUPO," = "," and") */
                  inserted.ci_Grupo = TBINTE_GRUPO.ci_Grupo
              )
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_CATEGORIA R/16 TBINTE_PESSOA ON CHILD UPDATE SET NULL */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_CATEGORIA"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/16", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Categoria_Pessoa", FK_COLUMNS="cd_Categoria" */
        if
          /* %ChildFK(" or",update) */
          update(cd_Categoria)
        begin
          update TBINTE_PESSOA
            set
              /* %SetFK(TBINTE_PESSOA,NULL) */
              TBINTE_PESSOA.cd_Categoria = NULL
            from TBINTE_PESSOA,inserted
            where
              /* %JoinPKPK(TBINTE_PESSOA,inserted," = "," and") */
        TBINTE_PESSOA.cd_Pessoa = inserted.cd_Pessoa and
        
              not exists (
                select * from TBINTE_CATEGORIA
                where
                  /* %JoinFKPK(inserted,TBINTE_CATEGORIA," = "," and") */
                  inserted.cd_Categoria = TBINTE_CATEGORIA.cd_Categoria
              )
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_CLASSE R/13 TBINTE_PESSOA ON CHILD UPDATE SET NULL */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_CLASSE"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/13", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Classificacao_Pessoa", FK_COLUMNS="ci_Classe" */
        if
          /* %ChildFK(" or",update) */
          update(ci_Classe)
        begin
          update TBINTE_PESSOA
            set
              /* %SetFK(TBINTE_PESSOA,NULL) */
              TBINTE_PESSOA.ci_Classe = NULL
            from TBINTE_PESSOA,inserted
            where
              /* %JoinPKPK(TBINTE_PESSOA,inserted," = "," and") */
        TBINTE_PESSOA.cd_Pessoa = inserted.cd_Pessoa and
        
              not exists (
                select * from TBINTE_CLASSE
                where
                  /* %JoinFKPK(inserted,TBINTE_CLASSE," = "," and") */
                  inserted.ci_Classe = TBINTE_CLASSE.ci_Classe
              )
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_PARTIDO R/9 TBINTE_PESSOA ON CHILD UPDATE SET NULL */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_PARTIDO"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/9", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Partido_Pess", FK_COLUMNS="ci_Partido" */
        if
          /* %ChildFK(" or",update) */
          update(ci_Partido)
        begin
          update TBINTE_PESSOA
            set
              /* %SetFK(TBINTE_PESSOA,NULL) */
              TBINTE_PESSOA.ci_Partido = NULL
            from TBINTE_PESSOA,inserted
            where
              /* %JoinPKPK(TBINTE_PESSOA,inserted," = "," and") */
        TBINTE_PESSOA.cd_Pessoa = inserted.cd_Pessoa and
        
              not exists (
                select * from TBINTE_PARTIDO
                where
                  /* %JoinFKPK(inserted,TBINTE_PARTIDO," = "," and") */
                  inserted.ci_Partido = TBINTE_PARTIDO.ci_Partido
              )
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_TRATAMENTO R/8 TBINTE_PESSOA ON CHILD UPDATE NO ACTION */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_TRATAMENTO"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/8", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Tratamento_Pes", FK_COLUMNS="ci_Tratamento" */
        if
          /* %ChildFK(" or",update) */
          update(ci_Tratamento)
        begin
          select @nullcnt = 0
          select @validcnt = count(*)
            from inserted,TBINTE_TRATAMENTO
              where
                /* %JoinFKPK(inserted,TBINTE_TRATAMENTO) */
                inserted.ci_Tratamento = TBINTE_TRATAMENTO.ci_Tratamento
          /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
          select @nullcnt = count(*) from inserted where
            inserted.ci_Tratamento is null
          if @validcnt + @nullcnt != @numrows
          begin
            select @errno  = 30007,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_TRATAMENTO does not exist.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_TIPOFUNCIONARIO R/7 TBINTE_PESSOA ON CHILD UPDATE SET NULL */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_TIPOFUNCIONARIO"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/7", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Tipo_Contrato_Pessoa", FK_COLUMNS="ci_TipoFuncionario" */
        if
          /* %ChildFK(" or",update) */
          update(ci_TipoFuncionario)
        begin
          update TBINTE_PESSOA
            set
              /* %SetFK(TBINTE_PESSOA,NULL) */
              TBINTE_PESSOA.ci_TipoFuncionario = NULL
            from TBINTE_PESSOA,inserted
            where
              /* %JoinPKPK(TBINTE_PESSOA,inserted," = "," and") */
        TBINTE_PESSOA.cd_Pessoa = inserted.cd_Pessoa and
        
              not exists (
                select * from TBINTE_TIPOFUNCIONARIO
                where
                  /* %JoinFKPK(inserted,TBINTE_TIPOFUNCIONARIO," = "," and") */
                  inserted.ci_TipoFuncionario = TBINTE_TIPOFUNCIONARIO.ci_TipoFuncionario
              )
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_TIPOFUNCAO R/6 TBINTE_PESSOA ON CHILD UPDATE NO ACTION */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_TIPOFUNCAO"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/6", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Tipo_Funcao_Pes", FK_COLUMNS="ci_TipoFuncao" */
        if
          /* %ChildFK(" or",update) */
          update(ci_TipoFuncao)
        begin
          select @nullcnt = 0
          select @validcnt = count(*)
            from inserted,TBINTE_TIPOFUNCAO
              where
                /* %JoinFKPK(inserted,TBINTE_TIPOFUNCAO) */
                inserted.ci_TipoFuncao = TBINTE_TIPOFUNCAO.ci_TipoFuncao
          /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
         
          if @validcnt + @nullcnt != @numrows
          begin
            select @errno  = 30007,
                   @errmsg = ''Cannot UPDATE TBINTE_PESSOA because TBINTE_TIPOFUNCAO does not exist.''
            goto error
          end
        end
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        /* TBINTE_CARGO R/5 TBINTE_PESSOA ON CHILD UPDATE SET NULL */
        /* ERWIN_RELATIONStick out tongueARENT_OWNER="dbo", PARENT_TABLE="TBINTE_CARGO"
          CHILD_OWNER="dbo", CHILD_TABLE="TBINTE_PESSOA"
          P2C_VERB_PHRASE="R/5", C2P_VERB_PHRASE="",
          FK_CONSTRAINT="Rel_Cargo_Pes", FK_COLUMNS="ci_Cargo" */
        if
          /* %ChildFK(" or",update) */
          update(ci_Cargo)
        begin
          update TBINTE_PESSOA
            set
              /* %SetFK(TBINTE_PESSOA,NULL) */
              TBINTE_PESSOA.ci_Cargo = NULL
            from TBINTE_PESSOA,inserted
            where
              /* %JoinPKPK(TBINTE_PESSOA,inserted," = "," and") */
        TBINTE_PESSOA.cd_Pessoa = inserted.cd_Pessoa and
        
              not exists (
                select * from TBINTE_CARGO
                where
                  /* %JoinFKPK(inserted,TBINTE_CARGO," = "," and") */
                  inserted.ci_Cargo = TBINTE_CARGO.ci_Cargo
              )
        end
      
      
        /* ERwin Builtin Mon Jul 03 11:56:11 2006 */
        return
      error:
          raiserror @errno @errmsg
          rollback transaction
      end'
     exec (@executar) 

    segunda-feira, 9 de abril de 2007 19:52
  • de um print na variavel @executar copie e cole no query analiser depois de um parse no codigo, deve ter alguma coisa faltantando, vi que tem muitos valores entre '  ' acho que o erro esta ai, veja tambem se o tamanho da variavel e suficiente vc. declarou com 6000 bytes use 8000 para garantir.

     

    Abs;

    terça-feira, 10 de abril de 2007 10:15
  • Marcelo verifiquei que o tamanho da variável mesmo alterando para varchar(8000) ainda fica muito pequena, tentei com text mais não é permitido para esse tipo de operação, tem alguma maneira de fazer?
    terça-feira, 10 de abril de 2007 11:44
  • cara desculpa a noticia mais neste caso nao vai funcionar, e uma limitacao. estou pensando uma forma de fazer um workaround, uma ideia seria criar o scripr .sql e rodar esse script usando o osql ( aplicativo de linha de comando ). veja no books on line qualquer duvida retorne.

     

    Abs;

     

     

    terça-feira, 10 de abril de 2007 11:50