powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Коварство экзамена 70-229: NULL и INSERT
7 сообщений из 7, страница 1 из 1
Коварство экзамена 70-229: NULL и INSERT
    #32069032
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
You are a database developer for Litware,Inc. You are restructuring the company’s sales database. The
database contains customer information in a table named Customers. This table includes a character
field named Country that contains the name of the country in which the customer is located.
You have created a new table named Country. The scripts that were used to create the Customers and
Country tables are shown in the exhibit.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE dbo.Country
(
CountryID int IDENTITY( 1 , 1 ) NOT NULL,
CountryName char( 20 ) NOT NULL,
CONSTRAINT PK_Country PRIMARY KEY CLUSTERED (CountryID)
)
CREATE TABLE dbo.Customers
(
CustomerID int NOT NULL,
CustomerName char( 30 ) NOT NULL,
Country char( 20 ) NULL,
CONSTRAINT PK_Customers PRIMARY KEY CLUSTERED (CustomersID)
)


You must move the country information from the Customers table into the new Country tables as quickly
as possible.

Which script should you use?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
A. INSERT INTO Country (CountryName)
SELECT DISTINCT Country
FROM Customers

B. SELECT (*) AS ColID, cl.Country
INTO Country
FROM (SELECT DISTINCT Country FROM Customers)AS c1,
(SELECT DISTINCT Country FROM Customers) AS c2,
WHERE c1.Country >=c2.Country
GROUP BY c1.Country ORDER BY  1 

C. DECLARE @Country char ( 20 )
DECLARE cursor_country CURSOR
FOR SELECT Country FROM Customers
OPEN cursor_country
FETCH NEXT FROM cursor_country INTO @Country
WHILE (@@FETCH_STATUS <> - 1 )
BEGIN
If NOT EXISTS (SELECT countryID
FROM Country
WHERE CountryName = @Country)
INSERT INTO Country (CountryName) VALUES (@Country)
FETCH NEXT FROM cursor_country INTO @Country
END
CLOSE cursor_country
DEALLOCATE cursor_country

D. DECLARE @SQL varchar ( 225 )
SELECT @SQL = ‘bcp “SELECT ColID = COUNT(*), c1. Country’ +
‘FROM (SELECT DISTINCT Country FROM Sales..Customers) AS
cl, ' +
(SELECT DISTINCT Country FROM Sales..Customers) AS c2 '
+
WHERE c1.Country >= c2.Country’ +
‘GROUP BY c1.Country ORDER BY  1 ” ’ +
‘query out c:\country.txt -c’
EXEC master..xp_cmdshell @SQL, no_output
EXEC master..xp_cmdshell ‘bcp Sales..country in c:\country. Txt-c’, no_output


Я выбрал C. Но, видимо, неверно, т.к. в случае наличия NULL в Customers.Country все упадет...
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: NULL и INSERT
    #32069056
Фотография Sinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь я сначала на A подумал, а потом собразил, что в случае наличия NULL в Customers тоже нельзя так делать, но другие то варианты тоже не проходят или это называется ТКНИ ПАЛЬЦЕМ В НЕБО?
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: NULL и INSERT
    #32069064
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и я про то же... В TestKing 70-229 выбран C, т.к. по их (Кингов) мнению, A явно не обеспечивает обработку NULL’ов. Я на это клюнул и не проверил вариант C – он, при ближайшем рассмотрении, также не обеспечивает оной….
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: NULL и INSERT
    #32069259
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Считаю, что главная фраза в вопросе " You must move the country information from the Customers table into the new Country tables as quickly as possible "

Поэтому выбираю А
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: NULL и INSERT
    #32069265
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Признаю, лоханулся :(
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: NULL и INSERT
    #32077249
Ну ваши размышления конечно понятны, но вставить данные в таблицу позволит только метод С, так как во время ошибки он просто скажет, что не может вставить NULL и перейдет к следующей строчке. Так что Test King прав
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: NULL и INSERT
    #32077373
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Дмитрий Ермаков: Да, и так тоже верно... Но если нет NULL значений, то этот метод (С) нельзя назвать самым быстрым... Я думаю, что это вопрос из серии "любой ответ неверен".
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Коварство экзамена 70-229: NULL и INSERT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]