1
resposta

posso realizar esse exercio de chave primaria e chave estrangeria no sqlliteonline ?

posso realizar esse exercício de chave primaria e chave estrangeira no sqlliteonline ?

quando executo o comando :

ALTER TABLE CLIENTE ADD CONSTRAINT CLIENTE_ID_PK PRIMARY KEY (id);

apresenta erro de sintaxe.

1 resposta

Oi Thais, tudo bem?

Você pode sim realizar exercícios de criação de chaves primárias e estrangeiras no SQLite Online, mas apenas destaco que o SQLite possui algumas diferenças em relação ao Oracle SQL. Uma dessas diferenças é que o SQLite tem um suporte limitado para o comando ALTER TABLE em comparação com o Oracle.

No SQLite, você não pode adicionar uma chave primária a uma tabela existente usando ALTER TABLE. A chave primária deve ser definida no momento da criação da tabela. Então, para definir uma chave primária no SQLite, você precisaria criar a tabela já com a chave primária

CREATE TABLE CLIENTE (
    ID INTEGER PRIMARY KEY,
    RAZAO_SOCIAL TEXT,
    CNPJ TEXT,
    SEGMERCADO_ID INTEGER,
    DATA_INCLUSAO DATE,
    FATURAMENTO_PREVISTO NUMERIC(10,2),
    CATEGORIA TEXT
);

Se você deseja apenas alterar a tabela diretamente, infelizmente, a única solução viável no SQLite é recriar a tabela como já exemplificado. Não há suporte para modificar a chave primária de uma tabela já existente via ALTER TABLE.

Portanto, recomendo excluir a tabela com o comando:

DROP TABLE CLIENTE;

E executar o comando de criação já com a PRIMARY KEY.

Espero ter ajudado.

Qualquer dúvida, não hesite em compartilhar no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado