SQL veateated ja nende lahendamine

ebakorrektne SQL lause süntaks

Lahendus: lisanda andmebaasi nimi: create database Veatede;


Viga: Tabelit test2 ei eksisteeri.

Lahendus:

1.Kontrolli, kas tabel test2 on olemas andmebaasis.
2.Kui tabel puudub, loo see enne sisestamist.

INSERT INTO test(id, nimi)  
VALUES (1, 'Marek');  

    Viga – Väärtus 'Mark' on liiga pikk, et mahtuda veergu nimi.

    Lahendus:

    alter table test alter column nimi varchar(25);
    

    Viga: Puudub AS enne BEGIN.

    Lahendus: Lisa AS enne BEGIN.

    CREATE PROCEDURE lisaLinn  
        @Lnimi VARCHAR(30),  
        @rArv INT 
    AS 
    BEGIN 
    END;
    

    Viga: Protseduuri nime asemel on kasutatud stringi 'Johvi'.

    Lahendus:
    Kasuta protseduuri õiget nime.

    EXEC lisaLinn 'Johvi', 10002;
    

    Viga: SQL ei tea, mis tüüpi objekt linn on, kuna DROP-i puhul tuleb määrata, mida kustutatakse (tabel, protseduur, vaade jne).

    Lahendus:

    DROP TABLE linn;
    

    Viga: Veerg id lubab NULL väärtusi, kuid PRIMARY KEY ei saa olla NULL.

    Lahendus:

    alter table test alter column id int not null;
    alter table test add primary key (id);