Autore Topic: Dichiarazione variabili nell'sql  (Letto 550 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 323
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Dichiarazione variabili nell'sql
« il: 21 Aprile 2015, 10:51:45 CEST »
Salve a tutti!

Sto creando una query sql per inserire le info in più tabelle, fino a qui tutto bene, la query funziona correttamente.
Il problema è che devo prendere 2 ID di due tabelle diverse e mettere tali id in una tabella di appoggio, ho provato con il DECLARE di una variabile ma mi da un errore per cui non riesco a saltarci fuori

Codice: [Seleziona]
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE @ItemID INT=0,
@ImageID INT=0' at line 1

questa è la mia query sql:
Codice: [Seleziona]
BEGIN;
DECLARE @ItemID INT=0,
@ImageID INT=0;
START TRANSACTION;
INSERT INTO tb_Items(Name,Address,Phone,Website,Mail,Facebook,Latitude,Longitude)
VALUES ('nome','indirizzo','numero','sito','mail','face','lat','lng');
SET @ItemID = LAST_INSERT_ID();
INSERT INTO tb_ItemImages(ImagePath,ImageName,ImageVersion) VALUES('path','ImgName','1');
SET @ImageID = LAST_INSERT_ID();
INSERT INTO tb_ImagesForItem(Item_ID,ItemImage_ID) VALUES ('@ItemID','@ImageID');
INSERT INTO tb_ItemDescriptions(Language_ID,Item_ID,ItemName,ItemDescription)VALUES('1',LAST_INSERT_ID(),'nome','descrizione');
INSERT INTO tb_ItemDescriptions(Language_ID,Item_ID,ItemName,ItemDescription)VALUES('2',LAST_INSERT_ID(),'nome','descrizione');
INSERT INTO tb_ItemCategory(Item_ID,Category_ID)VALUES(LAST_INSERT_ID(),'categoryNumber');
COMMIT;

avete suggerimenti?

Grazie mille in anticipo!

Offline Brontomania

  • Nuovo arrivato
  • *
  • Post: 32
  • Dinosauro di lanetta
    • Github
    • Google+
    • @Brontomania
    • Mostra profilo
  • Dispositivo Android:
    HTC One, Nexus 7, Nexus S
  • Sistema operativo:
    Windows 10
Re:Dichiarazione variabili nell'sql
« Risposta #1 il: 22 Aprile 2015, 17:50:04 CEST »
A memoria mi pare che SQLite non gestisca nativamente le variabili; non credo tu possa scrivere il codice come se fosse una Stored Procedure di SQL Server. Ti conviene utilizzare la sintassi Java e utilizzare l'SQL per le singole operazioni di Insert e Select.