Lo que no es válido es el tipo de dato "counter".
El resto (de la sintaxis) me parece que debiera ser soportado por cualquier motor.
Ahora, cualquier motor "decente" debiera exigirte que los campos que son parte de la llave primaria esten declarados como not null.
En oracle 9i probe esto:
Código SQL
[-]create table prueba1 (id number(7) Not Null constraint pkey primary key);
y funcionó de maravilla.
En interbase 6.01 la sentencia
Código SQL
[-]create table prueba1 (id numeric(7) Not Null constraint pkey primary key);
También ha funcionado a las mil maravillas.
Hasta luego.
