|
Muito bem, realmente funcionou. Mas isso provoca outro problema, que é só poder dar update ou delete em uma linha da tbl de cada vez, pois ele manda o rowid de uma linha e tenta dar o comando para todas linhas a alterar com o mesmo rowid. aliás estou usando o comando SalTblDoUpdates, SalTblDoDeletes.
Existe outra solução? tipo um comando no Sybase que transforma string em hexa?
-------Mensagem original-------
Data: terça-feira, 24 de junho de 2003 10:19:07
Assunto: Re: [sqlwin] Rowid no Sybase
Isso! Concatenando com o 0x antes vai funcionar.
Fabiano Reis
Banco WestLB do Brasil
Systems Development
tel: 55 + 11 + 5504-9833
fax: 55 + 11 + 5504-9933
cc:
Subject: Re: [sqlwin] Rowid no Sybase
Obrigado pela ajuda Fabiano,
mas apenas para confirmar devo concatenar assim:
"Update tabela set NomeEmpresa=:tblEmpresa.colNomeEmpresa where Rowid=0x"
|| tblEmpresa.colRowid
Já que quando a tbl é populada ela aparece sem o 0x, por estar definida com
datatype String.
Bem irei tentar.
Grato
Luis
----- Original Message -----
Sent: Monday, June 23, 2003 1:17 PM
Subject: Re: [sqlwin] Rowid no Sybase
Luis,
Se você concatenar o conteúdo da sua colRowid no comando, sem as aspas da
String, vai funcionar!
Se você concatenar o comando assim:
"Update tabela set NomeEmpresa=:tblEmpresa.colNomeEmpresa where Rowid=" ||
tblEmpresa.colRowid
O Centura enviará o seguinte comando para o banco de dados:
Update tabela set NomeEmpresa=:tblEmpresa.colNomeEmpresa where Rowid=
0x00000000010C9633
Espero ter ajudado.
Sds
Fabiano Reis
Banco WestLB do Brasil
Systems Development
tel: 55 + 11 + 5504-9833
cc:
Subject: [sqlwin] Rowid no Sybase
Olá pessoal,
estou precisando de uma ajuda. Tenho uma aplicação que tem várias tables
windows, populadas de tabelas de banco de dados.
Uma caracteristica é a existencia de uma coluna Rowid nessas tabelas,
utilizadas para fazer atualizações. Ex. Para um table windows empresa:
Update tabela set NomeEmpresa=:tblEmpresa.colNomeEmpresa where Rowid
=:tblEmpresa.colRowid.
Isso funcionamente perfeitamente quando trabalho com Oracle(que já possui
essa coluna default) e MS-SqlServer(onde defino como timestamp). Agora
estou tendo problema com Sybase, que ele não consegue entender o Rowid.
Quando executo o update, ele deve estar interpretando com texto, pois a
colRowid, defino com datatype String.
Uma solução seria tranformar o texto em hexadecimal. Alguém sabe a função
no sybase pra tranformar uma string em hexadecimal? ou teria outra
solução?
Att.
Luis Fernando Minoru Saito
Tecnologia de Informação
Tel: (55 11) 3078 1755 ramal 39
SCA Systema Consultores Associados
|