SQL stopt bij non-integer als 'ie integer verwacht

Status
Niet open voor verdere reacties.

ellenb4t

Nieuwe gebruiker
Lid geworden
31 aug 2018
Berichten
2
Hi,
Ik ben Ellen en ik hoop dat iemand mij kan helpen. Hopelijk zit ik hier goed, anders alvast excuses daarvoor. Ik ben een newbie, iemand heeft ons al eens geholpen met deze SQL, maar we blijven stuiten op een issue.

Dit is de SQL code (voor het updaten van voorraad):

update <@PREFIX>stock_available
set quantity='<@NEWFQTYONHAND@>'
where id_product =
(Select id_product from <@PREFIX>product
where reference = '<@SSTOCKCODE@>' )

@@GO@@

update <@PREFIX>stock_available
set quantity='<@NEWFQTYONHAND@>'
where id_product_attribute =
(Select id_product_attribute from <@PREFIX>product_attribute
where reference = '<@SSTOCKCODE@>' )

@@GO@@

====

We denken dat het probleem te maken heeft met id_product and id_product_attribute variabele.
In het voorraad systeem hebben we in het verleden ook non-integers gebruikt voor deze velden, die we nu helaas niet meer kunnen vervangen voor integers.

Het lijkt erop dat wanneer de SQL tegen een product met een non-integer aanloopt, hij er gewoon mee stopt.

Als we de SQL handmatig runnen en de variabelen vervangen voor echte product-codes, werkt het dus ook prima. En tot 'ie tegen een non-integer aanloopt werkt het ook prima.

Dus wat ik eigenlijk zou willen is iets toevoegen/aanpassen aan de SQL dat wanneer 'ie tegen een non-integer aanloopt, hij deze gewoon skipt en doorgaat naar de volgende.
Is dat mogelijk? Zo ja, hoe zou dat moeten? Want dat weet ik echt niet. ;)

Alvast bedankt voor jullie hulp!

Gr. Ellen
 
Geen idee over welke SQL taal je het hebt (er zijn legio SQL talen/dialecten) maar je kunt in je query een conversie functie gebruiken om tekst te converteren naar numeriek.

Twardis
 
Dankjewel voor je reactie Twardis. Nu is mijn kennis zo beperkt dat ik niet eens wist dat er zoveel SQL talen waren... n00b. ;)

Hoe zou zo'n conversie functie er uit zien? Maar eigenlijk wil ik die niet-numerieke id-s niet converteren hoor, maar gewoons kippen. Is dat niet een iets voor? Een soort if else then misschien?

Dankje, Ellen
 
Ten eerste is het natuurlijk nooit goed als een update fouten tegen komt.
Waarschijnlijk geeft je code een error waardoor hij stopt.
Je zou dus in de verbinding kunnen 'vertellen' deze te negeren.
Zonder info over wat waarop wordt gedraaid is niet te vertellen hoe.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan