Если первичный ключ уже существует, вам нужно удалить ключ:
ALTER TABLE compra drop constraint pk_compra;
, затем добавить ключ:
ALTER TABLE compra add constraint pk_compra primary key (city_id, buildtime, time);
Если первичный ключ не существует в таблице, просто используйте вторую командную строку.
Также, как заметил @stickybit, ваша таблица содержит ошибку. Это код без ошибки:
CREATE TABLE compra (
dni_cli VARCHAR2(50),
cod_prod NUMBER(10) NOT NULL,
cantidad NUMBER (10),
CONSTRAINT pk_compra PRIMARY KEY (dni_cli,cod_prod,cantidad), --<<change here
CONSTRAINT pelicula_codigo_prod_fg FOREIGN KEY (cod_prod) REFERENCES producto(cod_prod),
CONSTRAINT pelicula_codigo_cli_fg FOREIGN KEY (dni_cli) REFERENCES cliente(dni));