А еще мне Oracle вот на это говорит missing right parenthesis?
Code: Select all
CREATE TABLE UserType(typeCode integer(3) primary key, typeName varchar2(20));
Это он о чем?
Сабина
Code: Select all
CREATE TABLE UserType(typeCode integer(3) primary key, typeName varchar2(20));
Sabina wrote:Обратила внимание что на Oracle primary key в виде цифрового индикатора часто задается типом number. Интересно какие есть веские причины не делать его integer?
Сабина
JustMax wrote:В Oracle нет типа Integer также как и float.
Есть только NUMBER - все остальное это алиасы на различные
NUMBER описания (Например Intereger = NUMBER(38,0))
Code: Select all
CREATE TABLE UserType(typeCode number(3,0) primary key, typeName
varchar2(20) not null);
CREATE TABLE CMSUser(userID number(3,0) primary key, title char(3),
fName varchar2(30) not null, lName varchar2(30) not null, typeCode
number(3,0) not null, .....);
Code: Select all
ALTER TABLE CMSUser ADD CONSTRAINT (typeCode_fk) FOREIGN KEY
(typeCode) REFERENCES UserType (typeCode);
ORA-00902 : Invalid datatype
sp123 wrote:ADD CONSTRAINT typeCode_fk, т.е. скобки вокруг имени constraint'a не нужны.
Sabina wrote:Обратила внимание что на Oracle primary key в виде цифрового индикатора часто задается типом number. Интересно какие есть веские причины не делать его integer?
Sabina wrote:Big Cheese wrote:Должно быть видно через select * from all_constraints.
Ой, спасиб, развеселили Минуты три любовалась на бегущие строки
Да ладно бог с ним, пороюсь завтра на свежую голову в reference.
Сабина
Всегда пожалуйста А вот то, что Вы не смогли воспользоваться подсказкой - это Вам был бы минус, случись это на интервью.Sabina wrote:Big Cheese wrote:Должно быть видно через select * from all_constraints.
Ой, спасиб, развеселили Минуты три любовалась на бегущие строки
Да ладно бог с ним, пороюсь завтра на свежую голову в reference.
Сабина
Big Cheese wrote:А вот то, что Вы не смогли воспользоваться подсказкой - это Вам был бы минус, случись это на интервью.
Вот оно - женское коварство!Sabina wrote:Big Cheese wrote:А вот то, что Вы не смогли воспользоваться подсказкой - это Вам был бы минус, случись это на интервью.
А кто сказал, что я не смогла воспользоваться ?
Я тоже Оракловские штучки за 3 года подзабыл основательно (даже то, что знал). Удачи Вам в борьбе со скриптами и прочими JSP!Sabina wrote:Потом у меня всего одни день на то чтобы отладить DB connection и все скрипты и JSP с двумя основными формами написать. А я Oracle с 1997 года в руки не брала
Sabina wrote:Спасибо.
А еще вы не в курсе почему если задать тип number без определения длины он создается number(0,0)
С таким типом разьве можно работать?
Сабина
Code: Select all
NUMBER(38)
Sabina wrote:number(x) - это тоже alias number(x,0) ?
JustMax wrote:И еше. Кто вам мешает иметь доступ к базе не только через SQLPlus.
JustMax wrote:Создается number по максимуму. To же самое чтоCode: Select all
NUMBER(38)
Sabina wrote:Lazy44 wrote: select constraint_name
from user_constraints
where constraint_type ='R'
and table_name='CMSUSER';
Спасибо.
А еще вы не в курсе почему если задать тип number без определения длины он создается number(0,0)
С таким типом разьве можно работать?
Сабина
JustMax wrote:Ето раз :
http://download-west.oracle.com/docs/cd ... htm#424654
Во вторых верить надо только информации отсюда :
select * from user_tab_columns where table_name = 'NNNHHZ';
А NUBER(10) таки обрезает дробную часть.
IA72 wrote:Oracle после 7.1.3 в руки не брал. Да и стоило ли? Семерка, по-моему, лучший DB сервер всех времен была. Увы.
JustMax wrote:IA72 wrote:Oracle после 7.1.3 в руки не брал. Да и стоило ли? Семерка, по-моему, лучший DB сервер всех времен была. Увы.
S 7 normal'no mozhno bylo rabotat' s versii 7.3 (7.3.*, 7.3.4) O chem vy ? Stoilo stoilo. IMHO 9i ili 10G naaamnogo dal'she vpered ushli. Konkurentov ja poka i blizko ne vizhu.(Nu mozhet kogda Yukon vyjdet).
Po povodu types - zaglianite v packet STANDARD na 9 - ke
zVlad wrote: Просто из любопытства не могу не спросить: в чем это интересно Оракл нааааааамного далеко ушел от DB2?
Насчет темы топика. А как же Оракл работает с преобразованиями типов в выражениям? С округлением? Ведь если с размером дробной части полный произвол, то и четких правил округления быть не может?
В DB2 десятичные, целые и с плавающей точкой - это три разных формата. Если написать DECIMAL(5,3) то именно такую размерность и будет хранить и выдавать DB2, применяя общепринятые правило округления, или выдавая код ошибки если число превосходит заданую размерность. Честно говоря не понимаю, как можно с этим работь иначе?