Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Gyoshev avatar Gyoshev 6 Точки

[Homework Data Definition and Data Types] Problem 7. Къде греша

Колкото и теста да и правих, при мен всичко си работи (а си играх много, в момента е 01:15ч.). В Judge-a обаче не минава.

CREATE TABLE Users
(
Id INT UNIQUE IDENTITY(1,1),
Name NVARCHAR(200) NOT NULL,
Picture VARBINARY(MAX),
Height DECIMAL(38,2),
Weight DECIMAL(38,2),
Gender VARCHAR(1) NOT NULL,
Birthdate DATE NOT NULL,
Biography NVARCHAR(MAX)
)
ALTER TABLE Users ADD PRIMARY KEY(Id)
ALTER TABLE Users
ADD CONSTRAINT CH_Picture CHECK(DATALENGTH(Picture) < 2000 * 1024)
ALTER TABLE Users
ADD CONSTRAINT CH_Biography CHECK(DATALENGTH(Biography) < 1000000 * 1024)
ALTER TABLE Users
ADD CONSTRAINT CH_Gender CHECK(Gender = 'm' or Gender = 'f')
INSERT INTO Users (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Minka', NULL, 212.326, 32.12, 'm', '1982-02-22', NULL)
INSERT INTO Users (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Ginka', NULL, 23.21, 32.12, 'f', '1223-12-12', 'DFGDFGDG')
INSERT INTO Users (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Pesho', NULL, 53.45, NULL, 'm', '1982-02-22', 'FTHTHFH')
INSERT INTO Users (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Gosho', NULL, 54.32, 827.678, 'f', '1982-02-22', 'AEWQWEWDE')
INSERT INTO Users (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Misho', NULL, 32.12, NULL, 'm', '1982-02-22', 'RGEDGDGDG')

Тагове:
1
Module: C# DB
yordank avatar yordank 89 Точки
Best Answer

Условието е объркано(с учебна цел вероятно),в заглавието на задачата е написано - Table People,а долу в условието става table Users

Просто трябва навсякъде да се смени името на таблицата от Users на People и да се избере опцията Run queries & check DB.

CREATE TABLE People
(
Id INT UNIQUE IDENTITY(1,1),
Name NVARCHAR(200) NOT NULL,
Picture VARBINARY(MAX),
Height DECIMAL(38,2),
Weight DECIMAL(38,2),
Gender VARCHAR(1) NOT NULL,
Birthdate DATE NOT NULL,
Biography NVARCHAR(MAX)
)
ALTER TABLE People ADD PRIMARY KEY(Id)
ALTER TABLE People
ADD CONSTRAINT CH_Picture CHECK(DATALENGTH(Picture) < 2000 * 1024)
ALTER TABLE People
ADD CONSTRAINT CH_Biography CHECK(DATALENGTH(Biography) < 1000000 * 1024)
ALTER TABLE People
ADD CONSTRAINT CH_Gender CHECK(Gender = 'm' or Gender = 'f')
INSERT INTO People (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Minka', NULL, 212.326, 32.12, 'm', '1982-02-22', NULL)
INSERT INTO People (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Ginka', NULL, 23.21, 32.12, 'f', '1223-12-12', 'DFGDFGDG')
INSERT INTO People (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Pesho', NULL, 53.45, NULL, 'm', '1982-02-22', 'FTHTHFH')
INSERT INTO People (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Gosho', NULL, 54.32, 827.678, 'f', '1982-02-22', 'AEWQWEWDE')
INSERT INTO People (Name, Picture, Height, Weight, Gender, Birthdate, Biography) VALUES ('Misho', NULL, 32.12, NULL, 'm', '1982-02-22', 'RGEDGDGDG')

 
1
21/01/2017 07:34:06
Gyoshev avatar Gyoshev 6 Точки

Благодаря, задачата мина само с тази поправка.

1
ros1914 avatar ros1914 2 Точки

На мен ми дава грешка и не мога да разбера къде съм сгрешил. "Msg 8152, Level 16, State 14, Line 29
String or binary data would be truncated.
The statement has been terminated."

 

CREATE TABLE People
(
    Id int UNIQUE IDENTITY,
    Name  varchar(200) NOT NULL,
    Picture varbinary(MAX) ,
    Height numeric(18,2),
    Weight numeric(18,2),
    Gender varchar(1) NOT NULL,
    Birthdate date NOT NULL,
    Biography nvarchar(MAX)
)

ALTER TABLE People
ADD CONSTRAINT PK_Id
PRIMARY KEY (Id)

ALTER TABLE People
ADD CONSTRAINT CH_Picture
CHECK (DATALENGTH(Picture)<2000*1024)

ALTER TABLE People
ADD CONSTRAINT CH_Biography
CHECK (DATALENGTH(Biography)<1000000*1024)

ALTER TABLE People
ADD CONSTRAINT CH_Gender
CHECK(Gender='m' or Gender='f')

INSERT INTO People(Name, Picture,Height, Weight, Gender, Birthdate,Biography) 
VALUES ('hanKrum', NULL, 200.02, 90.06,'1804-22-06', 'm' , 'Победил Никифор '), ('Simeon', NULL, 198.23, 89.00, '1893-16-09', 'm', ' Ахелой'), ('Boris', NULL,187.00, 79.00, '1852-18-10', 'm', 'Покръстил българите'), ('Kalina',NULL, 170.00, 55.00, '1945-10-10', 'f','Княгиня Калина'),('babaTonka', NULL, 150.78, 50.05, '1850-10-07', 'f', 'Героиня' )

 

 

0
DimiTVP avatar DimiTVP 54 Точки

До колкото разбрах от Starckoverflow относно тази грешка:

the bottom line is that one of your columns in the source table is bigger than your destination columns

След това видях, че при въвеждането на данните разменяш реда на въвеждане. Първо казваш попълни ми колоните "Пол" и "Рождена дата", но после при попълването задаваш първо Дата после Пол.

Обаче когато оправиш този проблем излиза друг свързан с датата защото има значение дали въвеждаш първо месец или първо ден. Има си формат за въвеждане.

Оправиш ли тези 2 грешки всичко си минава както трябва. Тествах го.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.