Я понял, что программа sqldeveloper использует некоторые проверки, которые я никогда раньше не видел при создании автоматически сгенерированных SQL-скриптов, и это не имеет для меня никакого смысла. Кто-нибудь знает их цель? например сравнение «VARCHAR2» = «NUMBER».Какова цель таких проверок, как «VARCHAR2» = «NUMBER» в сценариях sqldeveloper с автоматическим генерированием?
begin if 'VARCHAR2' = 'NUMBER' and length('VARCHAR2')>0 and length('100')>0 then execute immediate 'alter table "MYTABLE" add(COLUMN1 VARCHAR2(, 100))'; elsif ('VARCHAR2' = 'NUMBER' and length('VARCHAR2')>0 and length('100')=0) or 'VARCHAR2' = 'VARCHAR2' then execute immediate 'alter table "MYTABLE" add(COLUMN1 VARCHAR2(100))'; else execute immediate 'alter table "MYTABLE" add(COLUMN1 VARCHAR2)'; end if; end; /
Чувствуется, что SQL исходит из шаблона с заполнителями. –