Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
12 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 12 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 2

Visite meu canal no Youtube

20/1/2017, 00:45 por ImRicoh

VFP Unlimited


Comentários: 0

Bloquear edição do ListBox

17/6/2010, 15:13 por Julio

Pessoal

Boa Tarde!

Tnho uma listbox apenas para exibir o resultado.
Preciso bloquear a listbox …

Comentários: 17

automação do mozilla e chrome

15/1/2017, 12:16 por Handerson Mildroz

Boa tarde a todos!

Sou iniciante no VFP. Preciso de ajuda, pois tenho um código que usa o …

Comentários: 0

Estatísticas
Temos 6991 usuários registrados
O último usuário registrado atende pelo nome de cpmacedo

Os nossos membros postaram um total de 9 mensagens em 3 assuntos

Criar um trigger

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Em curso Criar um trigger

Mensagem por paula91 em 27/5/2011, 12:44

boas,

Criei um trigger e funciona correctamente, mas necessito que o código tenha o nome da base de dados numa variável. O que li é que para isso é necessário colocar o insert dentro de uma string e dps executar. Já o fiz e mesmo colocando o nome da base de dados ele não funciona. Pensei que poderia ser de o tamanho estar a ultrapassar os 8000, mas já verifiquei e não está.

Código:

CREATE TRIGGER tr_i_01
   on CL
  AFTER INSERT
AS
Begin
   SET NOCOUNT ON;
declare @bd varchar(15)
declare @sql varchar(max)
set @bd= (Select nreal from u_bd(nolock) where id=3)
   Select @SQL='INSERT INTO' +@bd+'.dbo.cl (clstamp
          ,nome
          ,no
          ,estab
          ,vendnm
          ,ncont
          ,nome2
          ,saldo
          ,esaldo
          ,moeda
          ,fax
          ,telefone
          ,contacto
          ,acmfact
          ,eacmfact
          ,rentval
          ,erentval
          ,eem
          ,emno
          ,eag
          ,agno
          ,eid
          ,idno
          ,efl
          ,flno
          ,flestab
          ,morada
          ,local
          ,codpost
          ,zona
          ,tipo
          ,desconto
          ,vendedor
          ,vencimento
          ,plafond
          ,eplafond
          ,obs
          ,preco
          ,pais
          ,particular
          ,bino
          ,bidata
          ,bilocal
          ,naturalid
          ,passaporte
          ,conta
          ,nascimento
          ,pagamento
          ,cobranca
          ,nib
          ,descpp
          ,imagem
          ,odatraso
          ,tabiva
          ,c1tele
          ,c1fax
          ,c1func
          ,c2tele
          ,c2fax
          ,c2func
          ,c2tacto
          ,c3tele
          ,c3fax
          ,c3func
          ,c3tacto
          ,dqtt
          ,clivd
          ,descarga
          ,nocredit
          ,segmento
          ,email
          ,fref
          ,ccusto
          ,ncusto
          ,naood
          ,naomail
          ,contalet
          ,contaletdes
          ,contaletsac
          ,alimite
          ,dqttval
          ,tipodesc
          ,tlmvl
          ,cobrador
          ,rota
          ,contaainc
          ,contaacer
          ,eancl
          ,ediexp
          ,url
          ,tpstamp
          ,tpdesc
          ,pncont
          ,cobtele
          ,cobfax
          ,cobfunc
          ,cobtacto
          ,ollocal
          ,contado
          ,ousrinis
          ,ousrdata
          ,ousrhora
          ,usrinis
          ,usrdata
          ,usrhora
          ,marcada
          ,radicaltipoemp
          ,autofact
          ,numcontrepres
          ,codprovincia
          ,autorizacaoactiva
          ,numautorizacaosdd
          ,numseqaut) values ((select clstamp from inserted)
          ,(select nome from inserted)
          ,(select no from inserted)
          ,(select estab from inserted)
          ,(select vendnm from inserted)
          ,(select ncont from inserted)
          ,(select nome2 from inserted)
          ,(select saldo from inserted)
          ,(select esaldo from inserted)
          ,(select moeda from inserted)
          ,(select fax from inserted)
          ,(select telefone from inserted)
          ,(select contacto from inserted)
          ,(select acmfact from inserted)
          ,(select eacmfact from inserted)
          ,(select rentval from inserted)
          ,(select erentval from inserted)
          ,(select eem from inserted) 
          ,(select emno from inserted)
          ,(select eag from inserted)
          ,(select agno from inserted)
          ,(select eid from inserted)
          ,(select idno from inserted)
          ,(select efl from inserted)
          ,(select flno from inserted)
          ,(select flestab from inserted)
          ,(select morada from inserted)
          ,(select local from inserted)
          ,(select codpost from inserted)
          ,(select zona from inserted)
          ,(select tipo from inserted)
          ,(select desconto from inserted)
          ,(select vendedor from inserted)
          ,(select vencimento from inserted)
          ,(select plafond from inserted)
          ,(select eplafond from inserted)
          ,(select obs from inserted)
          ,(select preco from inserted)
          ,(select pais from inserted)
          ,(select particular from inserted)
          ,(select bino from inserted)
          ,(select bidata from inserted)
          ,(select bilocal from inserted)
          ,(select naturalid from inserted)
          ,(select passaporte from inserted)
          ,(select conta from inserted)
          ,(select nascimento from inserted)
          ,(select pagamento from inserted)
          ,(select cobranca from inserted)
          ,(select nib from inserted)
          ,(select descpp from inserted)
          ,(select imagem from inserted)
          ,(select odatraso from inserted)
          ,(select tabiva from inserted)
          ,(select c1tele from inserted)
          ,(select c1fax from inserted)
          ,(select c1func from inserted)
          ,(select c2tele from inserted)
          ,(select c2fax from inserted)
          ,(select c2func from inserted)
          ,(select c2tacto from inserted)
          ,(select c3tele from inserted)
          ,(select c3fax from inserted)
          ,(select c3func from inserted)
          ,(select c3tacto from inserted)
          ,(select dqtt from inserted)
          ,(select clivd from inserted)
          ,(select descarga from inserted)
          ,(select nocredit from inserted)
          ,(select segmento from inserted)
          ,(select email from inserted)
          ,(select fref from inserted)
          ,(select ccusto from inserted)
          ,(select ncusto from inserted)
          ,(select naood from inserted)
          ,(select naomail from inserted)
          ,(select contalet from inserted)
          ,(select contaletdes from inserted)
          ,(select contaletsac from inserted)
          ,(select alimite from inserted)
          ,(select dqttval from inserted)
          ,(select tipodesc from inserted)
          ,(select tlmvl from inserted)
          ,(select cobrador from inserted)
          ,(select rota from inserted)
          ,(select contaainc from inserted)
          ,(select contaacer from inserted)
          ,(select eancl from inserted)
          ,(select ediexp from inserted)
          ,(select url from inserted)
          ,(select tpstamp from inserted)
          ,(select tpdesc from inserted)
          ,(select pncont from inserted)
          ,(select cobtele from inserted)
          ,(select cobfax from inserted)
          ,(select cobfunc from inserted)
          ,(select cobtacto from inserted)
          ,(select ollocal from inserted)
          ,(select contado from inserted)
          ,(select ousrinis from inserted)
          ,(select ousrdata from inserted)
          ,(select ousrhora from inserted)
          ,(select usrinis from inserted)
          ,(select usrdata from inserted)
          ,(select usrhora from inserted)
          ,(select marcada from inserted)
          ,(select radicaltipoemp from inserted)
          ,(select autofact from inserted)
          ,(select numcontrepres from inserted)
          ,(select codprovincia from inserted)
          ,(select autorizacaoactiva from inserted)
          ,(select numautorizacaosdd from inserted)
          ,(select numseqaut from inserted))'
         
EXEC(@Sql)
End
GO

Se eu não tiver este insert dentro da variável, funciona correctamente.

Cumprimentos

paula91
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Em curso Re: Criar um trigger

Mensagem por m@r<3|o em 27/5/2011, 13:21

mas necessito que o código tenha o nome da base de dados numa variável
Esse é o problema ?????
pois

entao porque nao faz

Código:
use nomedabase
GO

no inicio do código ?

ou essa linha que relaciona o problema ??

declare @bd varchar(15)

um exemplo de como transformar os dados + o nome da tabela numa String
Código:

CREATE PROCEDURE SP_CLIENTES_SELECT_DECLARE

@PAR1 VARCHAR(10)

AS

DECLARE @SQLString NVARCHAR(500)
DECLARE @TABELA AS NVARCHAR(10)
SET @TABELA = @par1
SET @SQLString = N'SELECT CODIGO , NOME , DATA , VALOR FROM CLIENTES' + @TABELA
EXEC(@SQLString)
GO
[quote]

ou .... voce quer passar um parametro de código para fazer somente em 1 Registro ?

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Em curso Re: Criar um trigger

Mensagem por paula91 em 27/5/2011, 14:15

sim é exactamente o que fizes.te em cima...

tipo isto que fiz
Select @SQL='INSERT INTO' +@bd+'.dbo.cl (clstamp.....
Só que não funciona...
Se eu não tiver este texto gravado na string, e se em vez de @bd tiver mesmo o nome da base de dados funciona perfeitamente.

Será de ser uma string cm o tamanho mto grande?

paula91
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Em curso Re: Criar um trigger

Mensagem por edspicer em 5/7/2012, 09:59

Paula,

tente converter para varchar ou nvarchar essa variavel.
caso esta variavel já seja um deles, tente inicializa-la com aspas simples antes de colocar algum valor nela.

tipo:

declare @SQL nvarchar(1000)
-- inicializa a variavel
set @SQL = ''

-- faz o seu select normal....
Select @SQL='INSERT INTO' +@bd+'.dbo.cl (clstamp.....


--- executa a string
EXECUTE SP_EXECUTESQL @SQL

As vezes quando nao coloca algum valor a variavel fica nula.

para debugar use:

-- debugando
print @SQL

Espero ter ajudado.


Edspicer

edspicer
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Criar um trigger

Mensagem por diegoaoki em 26/6/2013, 09:53

Paula, bom dia.

Conseguiu resolver seu problema??? Se não ve se isso te ajuda..

O que eu faço, eu declaro uma variável chamada "@nome_base" e nela eu seto o nome da database depois eu dei um select nessa variável, com ela populada você pode usar aonde quiser.

Ex:

declare @nome_base varchar(50) = DB_NAME()

select @nome_base

diegoaoki
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum