Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2007
guillox guillox is offline
Registrado
 
Registrado: nov 2007
Posts: 1
Poder: 0
guillox Va por buen camino
Exclamation como modifico esta consulta.

Hola, tengo pocos conosimientos sobre sql y actualmente tengo un problema respecto a 2 scrip para correrlos en mi base de datos.

Estos scrip me detectan los caractereres que tienen ciertos codigos en su inv , me marcan el nombre de el caracter y el item que tiene esa parte de los codigos que seria itemSerial.

Código SQL [-]
DECLARE @Acc varchar(10), @Inv BINARY(760), @ItemSerial BINARY(3), @Item BINARY(10), @cnt INTEGER
DECLARE LISTA CURSOR LOCAL FOR
SELECT Name FROM Character
OPEN LISTA
FETCH NEXT FROM LISTA INTO @Acc
WHILE @@FETCH_STATUS = 0
BEGIN
SET @Inv = (SELECT Inventory FROM [Character] WHERE (Name=@Acc))
SET @cnt = 1
WHILE (@cnt <= (LEN(@Inv)/2))
BEGIN
SET @Item = SUBSTRING(@Inv,@cnt,10)
SET @ItemSerial = SUBSTRING(@Item,5,3)

IF (@ItemSerial = 0x000000)
BEGIN
print 'Yep! We got a 0x0 serial!'
print 'CharName: '+@Acc
print 'Item: '; print @Item
print '--------------------------'
END
SET @cnt = @cnt + 10
END
FETCH NEXT FROM LISTA INTO @Acc
END
CLOSE LISTA
DEALLOCATE LISTA

Lo que me gustaria saber es como puedo hacer para que si detecta esta @ItemSerial = 0x000000) me elimine a ese @Item = SUBSTRING(@Inv,@cnt,10

En este otro scrip tambien es similar el caso ya que necesitaria que si encuentra ese codigo elimine todo ese item.

Código SQL [-]
DECLARE @Acc varchar(10), @Inv BINARY(1200), @ItemSerial BINARY(3), @Item BINARY(10), @cnt INTEGER
DECLARE LISTA CURSOR LOCAL FOR
SELECT AccountID FROM warehouse
OPEN LISTA
FETCH NEXT FROM LISTA INTO @Acc
WHILE @@FETCH_STATUS = 0
BEGIN
SET @Inv = (SELECT items FROM [warehouse] WHERE (AccountID=@Acc))
SET @cnt = 1
WHILE (@cnt <= (LEN(@Inv)/2))
BEGIN
SET @Item = SUBSTRING(@Inv,@cnt,10)
SET @ItemSerial = SUBSTRING(@Item,5,3)

IF (@ItemSerial = 0x000000)
BEGIN
print 'Yep! We got a 0x0 serial!'
print 'Account: '+@Acc
print 'Item: '; print @Item
print '--------------------------'
END
SET @cnt = @cnt + 10
END
FETCH NEXT FROM LISTA INTO @Acc
END
CLOSE LISTA
DEALLOCATE LISTA

Se que paresco un deshubicado al pedir tal ayuda pero realmente ignoro como puedo solucionar este problema y la poca ayuda que crean poder brindarme ustedes para mi seria enorme ya que estoy muy confundido.

Desde ya les agradesco.

Última edición por dec fecha: 17-11-2007 a las 10:13:56.
Responder Con Cita
  #2  
Antiguo 17-11-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código SQL [-]
...
IF (@ItemSerial = 0x000000) BEGIN
 Delete FROM [warehouse] 
 WHERE (item = @Item)
END

...

__________________

Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como hago esta consulta? MaMu SQL 4 08-05-2007 11:11:24
No se como realizar esta consulta minos SQL 2 01-10-2004 23:08:37
como se hace esta consulta armando SQL 1 19-08-2004 23:07:02
como hago esta consulta armando SQL 5 01-03-2004 19:39:00
Como hago esta consulta? danytorres SQL 2 27-02-2004 13:31:51


La franja horaria es GMT +2. Ahora son las 01:56:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi