Buongiorno a tutti, mi sono da pochissimo affacciata nel mondo SQL e sono un po' in crisi.
Ho copiato il seguente codice da un'esercitazione, in teoria dovrebbe essere giusta, ma in realtà non lo è... ho cercato di capire l'errore, ma forse proprio per la mia inesperienza non riesco ben a capire dove sta.
codice:
create schema TeatroSQL {   
 create domain tipoBiglietto as varchar(8)
  default "Intero"
  check (tipoBiglietto in ('Intero', 'Ridotto', 'Studenti'))
  create domain mansione as varchar(5)
  check (mansione in ('CA', 'POD', 'CUSRP', 'ACF'))
  create domain tipoProduttore as varchar(7)
  check (tipoProduttore in ('interno', 'esterno'))  
  create table teatro
  (
    nome             varchar(20) primary key, 
    telefono         varchar(15),
    fax              varchar(15),
    indirizzo        varchar(40) not null,  
    email            varchar(30),
    url              varchar(30)
  ) 
    create table biglietteria
  (
    nome             varchar(20) primary key, 
    indirizzo        varchar(40) not null,
    email            varchar(30),
    telefono         varchar(15),  
    teatro           varchar(20) foreign key references teatro(nome)
                                 on update cascade on delete set null
  )
...
codice:
 create view dipendenti(teatro, cognome, nome, cf, età, telefonoFisso,
    telefonoMobile, email, stipendio, dataDiAssunzione, ruolo, cda) as
  select L.teatro, D.cognome, D.nome, D.cf, 
    case 
      when ((month(current_date) > month(D.dataDiNascita)) or
            (month(current_date) = month(D.dataDiNascita) and 
             day(current_date) >= day(D.dataDiNascita)))
      then year(current_date) - year(D.dataDiNascita)
      else year(current_date) - year(D.dataDiNascita) - 1
    end,  
    D.telefonoFisso, D.telefonoMobile, D.email, S.stipendio, 
    L.dataDiAssunzione, L.ruolo, L.cda
  from lavoro L, dipendente D, stipendio S
  where (L.dipendente = D.cf) and (S.dipendente = D.cf) and
        (S.inizio = (select max(S2.inizio)
                     from stipendio S2
                     where S2.dipendente = D.cf))
  order by L.teatro, D.cognome, D.nome                    
    
    
  create view statScena(spettacolo, paganti, affluenza, incasso) as
  select Sce.spettacolo, count(*), count(*) / Spa.capienza, sum(P.prezzo)
  from messaInScena Sce, spazio Spa, prenotazione P
  where (Sce.spazio = Spa.nome) and
        (P.dataSpettacolo = Sce.data) and
        (P.oraSpettacolo = Sce.ora) and
        (P.spazioSpettacolo = Sce.spazio)
  group by Sce.data, Sce.ora, Sce.spazio
  create view statSpettacolo(spettacolo, paganti, affluenza, incasso) as
  select Spe.titolo, avg(Sce.paganti), avg(Sce.affluenza), avg(Sce.incasso)
  from spettacolo Spe, statScena Sce
  where (Spe.titolo = Sce.spettacolo)
  group by Spe.titolo 
}
L'errore è il seguente: Error Code: 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 '{
create domain tipoBiglietto as varchar(8) default "Intero" check (tipoBi' at line 2
Vi prego aiutatemi a trovarlo e a capire!Grazie!