Variabelen (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 18: Regel 18:
  
 
   select tblname;          -- Dit werkt!
 
   select tblname;          -- Dit werkt!
   select * from tblname;    -- Werk niet: Foutmelding dat tabel 'tblname' niet bestaan
+
   select * from tblname;    -- Werk niet: Foutmelding dat tabel 'tblname' niet bestaat
 
   select * from @tblname;  -- Syntax error
 
   select * from @tblname;  -- Syntax error
  

Versie van 22 jan 2016 14:21

Ook buiten sprocs kun je met variabelen hobbyen. Bv.:

set @aanbod = true;
select @aanbod;
1

Om de ééndimensionale output van een query aan een variabele toe te wijzen, moet je haakjes om de query gebruiken, met de punk-komma buiten het sluithaakje:

set @ouder=(select tid from term_data where name = "DeWalt" and description = "Koolborstels voor DeWalt");

Input-argumenten bij sprocs

Een input-argument (of hoe dat moge heten) in een sproc, heeft geen '@' nodig, maar er zijn wel beperkingen:

CREATE DEFINER=`root`@`localhost` PROCEDURE `ExportFixNull`(in tblname tinytext )
BEGIN

   select tblname;           -- Dit werkt!
   select * from tblname;    -- Werk niet: Foutmelding dat tabel 'tblname' niet bestaat
   select * from @tblname;   -- Syntax error

END

Wat hoe dan ook werkt: Een string (inclusief variabelen) samenstellen en executeren.

Bronnen