Array
(
)

Um Campo com Valor Baseado em Select.

Alex Lekao
   - 13 dez 2012

Ola Boa tarde!!!
Galera... quero saber se tem como eu criar um campo ou configurar algum campo, para que o resultado que ele receber seja sempre um select em uma outra tabela.
Como por exemplo:
tabela.item.venda.PcoOrigem = tabela.item.estoque.PcoProduto.
Essa operacao tem que ser sempre que for dado um insert na talela, no caso criado um novo registro, nos updates nao se aplica, etc.
Eh isso ae...
obrigado.
abraco.
Alex - Lekao

Claudiadnh
   - 13 dez 2012

Tem duas tabelas uma chamada VENDA e outra chamada ESTOQUE?
Você quer jogar o valor de PcoProduto da tabela ESTOQUE no PcoOrigem da tabela VENDA quando inserir algum registro na tabela ESTOQUE?
Ou é o contrário?

0
|
0

Roniere Almeida
   - 13 dez 2012


Citação:
Tem duas tabelas uma chamada VENDA e outra chamada ESTOQUE?
Você quer jogar o valor de PcoProduto da tabela ESTOQUE no PcoOrigem da tabela VENDA quando inserir algum registro na tabela ESTOQUE?
Ou é o contrário?


achei isso confuso Claudiadn, é possivel fazer isso???

0
|
0

Claudiadnh
   - 13 dez 2012

Eu não passei a solução ainda, somente perguntei a estrutura. Hehehe. :)

Citação:

Citação:
Tem duas tabelas uma chamada VENDA e outra chamada ESTOQUE?
Você quer jogar o valor de PcoProduto da tabela ESTOQUE no PcoOrigem da tabela VENDA quando inserir algum registro na tabela ESTOQUE?
Ou é o contrário?


achei isso confuso Claudiadn, é possivel fazer isso???

0
|
0

Alex Lekao
   - 14 dez 2012

Ola bom dia!!!

Entao eu quero quando inserir um novo registro na tabela de vendas, o campo pcoorigem receber o prcovenda da tabela estoque.

No caso seria o contrario, respondendo a sua pergunta.

Obrigado.

Alex - Lekao

0
|
0

Claudiadnh
   - 14 dez 2012

Como você quer fazer isso a nível de banco, creio que o ideal seria criar um trigger para a tabela venda mais ou menos assim:

#Código

CREATE TRIGGER VENDA_PRECO
ON [VENDA] 
AFTER INSERT
AS
BEGIN
   Update A 
      set A.pcoorigem = (SELECT e.prcovenda FROM ESTOQUE E WHERE (e.id_produto = a.id_produto))
     From VENDA A
          Inner Join Inserted B ON A.CODIGO_VENDA = B.CODIGO_VENDA
END


Estou sem o SQL Server aqui, pode ter erros de digitação, e também sou ruim com o SQL Server, respondi pensando na lógica da coisa.

Obs.: Como não sei os nomes dos campos de sua tabela, tem que corrigir a sentença com os nomes corretos.

0
|
0

Alex Lekao
   - 14 dez 2012

Oi Claudia, bom dia!!!

Pois eh, eh justamento por causa da trigguer que to precisando desta opção.

Não estou conseguindo criar Trigguer no banco, não sei se o pessoal do ERP bloqueou, nem se tem como fazer isso.

Eu utilizava uma trigguer mas eles apagaram e agora estou ficando sem este dado.

ABraco.

Alex - Lekao

0
|
0

Claudiadnh
   - 14 dez 2012

Quando você tenta criar o TRIGGER dá que mensagem?

Citação:
Oi Claudia, bom dia!!!

Pois eh, eh justamento por causa da trigguer que to precisando desta opção.

Não estou conseguindo criar Trigguer no banco, não sei se o pessoal do ERP bloqueou, nem se tem como fazer isso.

Eu utilizava uma trigguer mas eles apagaram e agora estou ficando sem este dado.

ABraco.

Alex - Lekao

0
|
0

Alex Lekao
   - 14 dez 2012

Nenhuma, simplesmente não cria.

0
|
0

Claudiadnh
   - 14 dez 2012

Mais uma dúvida. Deu a entender que o software não é seu e que você precisa fazer isso no BD de um cliente seu, mas sem conhecimento da empresa desenvolvedora do software. Ou você pode alterar o código fonte?

Citação:
Nenhuma, simplesmente não cria.

0
|
0

Alex Lekao
   - 14 dez 2012

Não, o software realmente não eh meu, temos licença de uso do software, o banco de dados eh nosso, e como a software house não tem esse tipo de controle no sistema deles e os relatórios do ERP sou eu mesmo quem crio utilizando comendos do SQL junto com um Componente que eh usado no ERP e o banco de dados eu posso criar campos para atender algumas necessidades.

Essa alteração eh no banco aqui da empresa que eu trabalho.

Eu não altero o código fonte do ERP e tbm não altero, não sou programador tbm... rsrsr, eles tem conhecimento da operação, so não sei porque eles removeram.

Fiz contato com eles a respeito do motivo da remocao da trigguer e me falaram para criar um job para fazer isso, mas eu acredito que com um job não funcione, pq a finalidade da operação eh para ser coletado em tempo real.

então com isso estou tentando achar alguma forma de fazer o que preciso sem fazer a trigguer, pq não estou conseguindo cria-la novamente.

0
|
0

Claudiadnh
   - 14 dez 2012

Entendi. Também acho que com Job não dá, mas não entendo muito sobre o assunto. O ideal seria você pedir pra eles liberarem o Trigger mesmo.
Vamos ver se alguém com mais conhecimento pode te ajudar.
Boa sorte.

0
|
0

Alex Lekao
   - 14 dez 2012

Obrigado.

Acredito que não queiram liberar viu, infelizmente...

Mas de qqr forma vou aguardar o proprietário da software house voltar das férias e vou exclarecer com ele.

o problema eh que isso ta me dando uma dor de cabeça dos infernos... os dados que não são atualizados esta comprometendo muito as analises que temos aqui... mas paciência... vou esperar para ver.

Obrigado mais uma vez.

abraco.

Alex - Lekao

0
|
0

Cristiano Santos
   - 17 dez 2012

LeKao, tudo bem?

Eu entendi sim o motivo deles solicitarem a você que criasse um JOB.
Na realidade, você comentou que de momentos em momentos você terá que executar esta query para trazer suas informações (me corrija se estiver errado). Você pode criar um JOB que execute esta query e faça a gravação do Resultado em um Diretório específico, sendo que o JOB poderá/poderia ser criado e agendado no SQL Agents, para rodar em períodos e horários específicos (a regra é você quem define).
Vou preparar um material para você seguir um "passo a passo" de como fazer este processo, contudo, de nada irá adiantar se você também não tiver acesso para criação de JOBs no SQL Server.

Se quiser, entre em contato comigo.

0
|
0

Alex Lekao
   - 18 dez 2012

Ola Cristino, boa tarde!!!

Entao o job seria especificamente para execução de tempos em tempos, provavelmente algo em torno de 10 minutos.

Acredito que os Jobs eu possa criar(para falar a verdade ainda não tentei, mas já criei outros em outras épocas), a única coisa que estou tentando quebra a cabeça é em como fazer para que ele seja executado apenas para itens que o preco ainda não foi atualizado, neste caso, ainda não consegui pensar em nada... rsrsr

Mas mesmo assim muito obrigado, e faco contato sim... sempre estou por "aqui"... rsrsrs

e o Fórum fica aberto o tempo todo em minha maquina... rsrsr

mais uma vez obrigado.

Abraco.

Alex - Lekao

0
|
0

Alex Lekao
   - 08 jan 2013

Ola Meu povo, boa tarde!!!

Consegui fazer o JOB e colocar para executar de 10 em 10 minutos.

a triguer não podia ser usada, de acordo com o desenvolvedor do ERP ele faz uma serie de consistências e como a triguer estava, ela estava influenciando no processamento e gravação dos dados.

Com isto o job esta atendendo a nossa necessidade e o problema foi sanado.

não era o ideal, mas foi o que deu para fazer e atendeu a necessidade.

Obrigado a todos pela ajuda e empenho.

Abraco.

Alex - Lekao

0
|
0

José
   - 30 jul 2013

Alex obrigado por seu retorno, e por explicar como conseguiu solucionar sua duvida.
sendo assim estou dando o tópico por concluído.

0
|
0