Caro Antonio, Uso este procedimento(tabela temporária). Para identificar o usuário como único, considerendo também que o mesmo "login name" pode estar logado em várias sessões, uso o ID da sessão. Basta usar esta query para obter o ID.
"Select USERENV('SESSIONID') into :nID from dual " Este valor, 'nID', irá compor sua chave, deve ser uma coluna da Temporária. Ao iniciar o meu processo obtenho este ID através do Centura( SqlPrepareAndExecute ) mesmo e apago a tabela por este ID , depois executo minha procedure e dentro dela uso este ID. Executada a procedure, leio a tabela filtrando pelo session ID. Anderson Martins ----- Original Message ----- From: "Jose Carlos Schmidt" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, November 12, 2001 10:35 PM Subject: RES: [sqlwin] Centura 2000 x Stored Procedure Oracle 8 > AcessoBOL, só R$ 9,90! O menor preço do mercado! > Assine já! http://www.bol.com.br/acessobol/ > > > > Caro Antonio > > Voce so tera uma tabela. O que ira diferenciar qual é o usuário e chave que > vc criar como identificar unico e especifico do momento que o usuário > estiver executando. Este identificar a PROCEDURE cria e te retorna como > OUTPUT, em cima deste identificar vc faz o seu SKLECT e depois deleta. > > Acho que vc nao entendeu a jogada. > > Abcs > > JC.Schmidt > > -----Mensagem original----- > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]Em > nome de Antonio Ribeiro de Mendonça Neto > Enviada em: Sábado, 10 de Novembro de 2001 18:30 > Para: [EMAIL PROTECTED] > Assunto: RES: [sqlwin] Centura 2000 x Stored Procedure Oracle 8 > > > Caro JC.Schimidt, e se 2 pessoas rodarem a procedure ao mesmo tempo, serão > criadas duas tabelas, o Oracle permite isto ? > > grato > > -----Mensagem original----- > De: Jose Carlos Schmidt [mailto:[EMAIL PROTECTED]] > Enviada em: terça-feira, 6 de novembro de 2001 18:52 > Para: [EMAIL PROTECTED] > Assunto: RES: [sqlwin] Centura 2000 x Stored Procedure Oracle 8 > > > Antonio > > No Oracle nao existe esta possibilidade. ele nao retorna linhas da tabelas, > somente os campos que voce definiu ou OUT na procedure. > > Existem duas possibilidades para contornar este problema: > > 1 - Criar no Centura um array contendo as colunas que voce quer e passar > este como parametro OUT para a procedure. Este macete tem um pequeno > problema que é o limite de registros que o array pode conter no Centura que > é de 4096 elementos e todos os campos tem que ser do mesmo tipo. > > 2 - Criar uma tabela temporaria e a procedure inserir os dados nela. Apos a > execução da procedure voce faz o SELECT nesta temporaria e qdo nao precisar > mais destes dados, deve limpar a temporaria. > > Eu particularmente prefiro a segunda opção, sendo que sempre coloca um campo > com um identificador que a procedure coloca e me retorna como parametro para > a exclusão dos registros ao final através deste identificador. > > Abçs > > JC.Schmidt > > -----Mensagem original----- > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]Em > nome de Antonio Ribeiro de Mendonça Neto > Enviada em: Terça-feira, 6 de Novembro de 2001 14:10 > Para: Lista Centura (E-mail) > Assunto: [sqlwin] Centura 2000 x Stored Procedure Oracle 8 > > > Como obter o Result Set de uma procedure em Oracle 8, que me possibilite > "andar" através do comando SqlFetchNext nas variáveis de bind ? > > Exemplo: Quero recuperar todos os registros da tabela COMPANY através de uma > Stored Procedure. > > No Sql Server é assim: > > ** Procedure Armazenada no Banco > drop proc rcompany00 > go > create procedure rcompany00 > as > select campo1, campo1, campo3 from COMPANY > go > grant execute on rcompany00 to desenvolvimento > go > > ** Chamada na Aplicação > Call OdrExecuteProc( hSqlHandle, 'rcompany00', ':campo1, :campo2, :campo3' ) > While SqlFetchNext > tab.col1 = campo1 > tab.col2 = campo2 > tab.col3 = campo3 > > grato > > ============================================== > Lista de Centura SQLWindows > Administrador : [EMAIL PROTECTED] > [ http://www.centuraexplorer.com ] > Para sair desta lista mande mensagem para: > [EMAIL PROTECTED] sem nada no Subject e > com o comando a seguir no corpo da msg: > "unsubscribe sqlwin" (sem as aspas) > ============================================== > > ============================================== > Lista de Centura SQLWindows > Administrador : [EMAIL PROTECTED] > [ http://www.centuraexplorer.com ] > Para sair desta lista mande mensagem para: > [EMAIL PROTECTED] sem nada no Subject e > com o comando a seguir no corpo da msg: > "unsubscribe sqlwin" (sem as aspas) > ============================================== > > ============================================== > Lista de Centura SQLWindows > Administrador : [EMAIL PROTECTED] > [ http://www.centuraexplorer.com ] > Para sair desta lista mande mensagem para: > [EMAIL PROTECTED] sem nada no Subject e > com o comando a seguir no corpo da msg: > "unsubscribe sqlwin" (sem as aspas) > ============================================== > > ============================================== > Lista de Centura SQLWindows > Administrador : [EMAIL PROTECTED] > [ http://www.centuraexplorer.com ] > Para sair desta lista mande mensagem para: > [EMAIL PROTECTED] sem nada no Subject e > com o comando a seguir no corpo da msg: > "unsubscribe sqlwin" (sem as aspas) > ============================================== > ============================================== Lista de Centura SQLWindows Administrador : [EMAIL PROTECTED] [ http://www.centuraexplorer.com ] Para sair desta lista mande mensagem para: [EMAIL PROTECTED] sem nada no Subject e com o comando a seguir no corpo da msg: "unsubscribe sqlwin" (sem as aspas) ==============================================