Vinnaren i pepparkakshustävlingen!
2010-07-20, 22:55
  #1
Medlem
The Barrs avatar
Citat:
I princip:
Kod:
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_setThingTitle`(IN ThingId INT, IN ThingTitle VARCHAR(30))
BEGIN
UPDATE thing 
SET Title = ThingTitle
WHERE Id = ThingId;
     END

Jag kallar på den lagrade proceduren med, i princip, CALL sp_setThingTitle(3, Testtitel), men hur jag än gör så tror databasen att inparametern är ett kolumnnamn och klagar på att den inte hittar den. Jag har sett några exempel som ser ut som det här, men för mig funkar det inte.

Citat:
Error executing sproc :sp_setThingTitle(1, Testtitel)--> Unknown column 'Testtitel' in 'field list''

Vad är det som är fel? Har försökt med olika citationstecken hit och dit, men antingen blir det samma felresultat eller syntaxfel...

Edit: Det är väldigt fascinerande det här... Av någon anledning gör jag alltid massa skitfel som jag lyckas förbise helt i felsökningen som jag kommer på under eller strax efter jag ber om hjälp på flashback.

Jag måste ju sätta citattecken på strängen i queryn CALL sp_setThingTitle(3, "Testtitel").
__________________
Senast redigerad av The Barr 2010-07-20 kl. 23:01.
Citera
2010-07-20, 23:02
  #2
Medlem
kylskops avatar
Är inget vidare på SQL procedures, men ska det inte vara "citationstecken" om det är en sträng?

Kod:
CALL sp_setThingTitle(3"Testtitel"
eller
Kod:
CALL sp_setThingTitle(3'Testtitel'
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback