Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PostgreSQL (http://www.forosdelweb.com/f99/)
-   -   Ayuda con dos scrip ? (http://www.forosdelweb.com/f99/ayuda-con-dos-scrip-533710/)

guillox 16/11/2007 11:58

Ayuda con dos scrip ?
 
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.




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.


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.

seyko 19/11/2007 04:49

Re: Ayuda con dos scrip ?
 
esto no es postgres, ¿es sqlserver? pregunta en el foro adecuado

Salu2


La zona horaria es GMT -6. Ahora son las 19:13.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.