Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

Помогите тест проверить   Найти похожие ветки 

 
paul_k ©   (2005-01-13 17:07) [0]

Вот измываемся мы тут над кандидатами на вакансию. Пришлось составить некое подобие теста. Помогите откровенный бред вычистить
Запрос это
 команда, переданная серверу для исполнения
 набор инструкций, переданный серверу баз данных для исполнения
 набор инструкций, переданный серверу баз данных для исполнения, Результат - возврат сервером набора данных
 инструкция, переданная серверу баз данных для получения или модификации набора данных.
 Сам дурак
 Верного определения нет, написать собственное.

SELECT
 Оператор, предназначенный для выбора данных
 Конструкция языка, предназначенная для получения набора данных
 Конструкция языка, предназначенная для изменения набора данных
 Конструкция языка, предназначенная для добавления набора данных
 Конструкция языка, предназначенная для удаления набора данных
 Не знаю
 Верного определения нет, написать собственное.

INSERT
 Конструкция языка, предназначенная для получения набора данных
 Конструкция языка, предназначенная для изменения набора данных
 Конструкция языка, предназначенная для добавления набора данных
 Конструкция языка, предназначенная для удаления набора данных
 Не знаю
 Верного определения нет, написать собственное.

UPDATE
 Конструкция языка, предназначенная для получения набора данных
 Конструкция языка, предназначенная для изменения набора данных
 Конструкция языка, предназначенная для добавления набора данных
 Конструкция языка, предназначенная для удаления набора данных
 Не знаю
 Верного определения нет, написать собственное.

DELETE
 Конструкция языка, предназначенная для получения набора данных
 Конструкция языка, предназначенная для изменения набора данных
 Конструкция языка, предназначенная для добавления набора данных
 Конструкция языка, предназначенная для удаления набора данных
 Не знаю
 Верного определения нет, написать собственное.

FROM
 Определяет, таблицы, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Перечень таблиц для запроса
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет условие для строк, возвращенных запросом
 Определяет группы, в которые строки вывода должны быть помещены и, если агрегатные функции включены в <список выбора> предложения SELECT, вычисляет итоговое значение для каждой группы.
 Определяет сортировку набора данных. Недопустимо в представлениях, подставляемых функциях, и подзапросах.
 Определяет критерии отбора для групп и агрегатных данных.
 Верного определения нет, написать собственное.

WHERE
 Определяет, таблицы, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Перечень таблиц для запроса
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет условие для строк, возвращенных запросом
 Определяет группы, в которые строки вывода должны быть помещены и, если агрегатные функции включены в <список выбора> предложения SELECT, вычисляет итоговое значение для каждой группы..
 Определяет сортировку набора данных.
 Определяет критерии отбора для групп и агрегатных данных.
 Верного определения нет, написать собственное.

GROUP BY
 Определяет, таблицы, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Перечень таблиц для запроса
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет условие для строк, возвращенных запросом
 Определяет группы, в которые строки вывода должны быть помещены и, если агрегатные функции включены в <список выбора> предложения SELECT, вычисляет итоговое значение для каждой группы..
 Определяет сортировку набора данных.
 Определяет критерии отбора для групп и агрегатных данных.
 Верного определения нет, написать собственное.

ORDER BY
 Определяет, таблицы, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Перечень таблиц для запроса
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет условие для строк, возвращенных запросом
 Определяет группы, в которые строки вывода должны быть помещены и, если агрегатные функции включены в <список выбора> предложения SELECT, вычисляет итоговое значение для каждой группы.
 Определяет сортировку набора данных.
 Определяет критерии отбора для групп и агрегатных данных.
 Идите в … я все на клиенте сортирую
 Верного определения нет, написать собственное.

HAVING
 Определяет, таблицы, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Перечень таблиц для запроса
 Определяет, таблицы, представления, и связи между ними, используемые в инструкциях DELETE, SELECT и UPDATE
 Определяет условие для строк, возвращенных запросом
 Определяет группы, в которые строки вывода должны быть помещены и, если агрегатные функции включены в <список выбора> предложения SELECT, вычисляет итоговое значение для каждой группы.
 Определяет сортировку набора данных.
 Определяет критерии отбора для групп и агрегатных данных.
 А это что за зверь?
 Верного определения нет, написать собственное.


 
paul_k ©   (2005-01-13 17:09) [1]

TOP
 Определяет, что только уникальные строки могут появиться в наборе данных. Нулевые значения рассматриваются как равные.
 Определяет, что только первые n строк должны быть выведены. Когда определено с %, n должен быть целым числом между 0 и 100 и будет выведена указанная в процентах доля набора данных
 Определяет, что только первые n строк должны быть выведены
 Зачем оно надо?
 Верного определения нет, написать собственное.

DISTINCT
 Определяет, что только уникальные строки могут появиться в наборе данных. Нулевые значения рассматриваются как равные.
 Определяет, что только первые n строк должны быть выведены. Когда определено с %, n должен быть целым числом между 0 и 100 и будет выведена указанная в процентах доля набора данных
 Определяет, что только первые n строк должны быть выведены
 Зачем оно надо?
 Верного определения нет, написать собственное.


Дано:
Общие данные для лиц
T_PARTNERS (
ID NUMERIC(18, 0) NOT NULL ,
PARTNER_NAME VARCHAR (255)  NULL ,
PARTNER_SHORT_NAME VARCHAR (100)  NULL ,
COUNTRY_ID NUMERIC(18, 0) NULL ,
CITY_ID NUMERIC(18, 0) NULL ,
IS_COMPANY INT NULL
)
Данные физ. лица
T_PARTNERS_FIS (
ID NUMERIC(18, 0) NOT NULL ,
F_PASSPORT_NO VARCHAR (20) NULL ,
)
Данные юр. лица
T_PARTNERS_JUR (
ID NUMERIC(18, 0) NOT NULL ,
J_HEAD_STAFF VARCHAR (150) NULL,
J_HEAD_LAST_NAME VARCHAR (150) NULL
)
Укажите верные варианты запроса.
 SELECT T_PARTNERS.PARTNER_NAME,
      T_PARTNERS_FIS.F_PASSPORT_NO,
      T_PARTNERS_JUR.J_HEAD_STAFF,
      T_PARTNERS_JUR.J_HEAD_LAST_NAME
 FROM T_PARTNERS,
      T_PARTNERS_JUR,
      T_PARTNERS_FIS
WHERE T_PARTNERS_JUR.ID =* T_PARTNERS.ID
  AND T_PARTNERS_FIS.ID =*T_PARTNERS.ID
 SELECT T_PARTNERS.PARTNER_NAME,
      T_PARTNERS_FIS.F_PASSPORT_NO,
      T_PARTNERS_JUR.J_HEAD_STAFF,
      T_PARTNERS_JUR.J_HEAD_LAST_NAME
 FROM T_PARTNERS,
      T_PARTNERS_JUR,
      T_PARTNERS_FIS
WHERE T_PARTNERS_JUR.ID *= T_PARTNERS.ID
  AND T_PARTNERS_FIS.ID *= T_PARTNERS.ID
 SELECT T_PARTNERS.PARTNER_NAME,
      T_PARTNERS_FIS.F_PASSPORT_NO,
      T_PARTNERS_JUR.J_HEAD_STAFF,
      T_PARTNERS_JUR.J_HEAD_LAST_NAME
 FROM T_PARTNERS,
      T_PARTNERS_JUR,
      T_PARTNERS_FIS
WHERE T_PARTNERS_JUR.ID = T_PARTNERS.ID
  AND T_PARTNERS_FIS.ID = T_PARTNERS.ID
 SELECT T_PARTNERS.PARTNER_NAME,
      T_PARTNERS_FIS.F_PASSPORT_NO,
      T_PARTNERS_JUR.J_HEAD_STAFF,
      T_PARTNERS_JUR.J_HEAD_LAST_NAME
 FROM T_PARTNERS LEFT OUTER JOIN
          T_PARTNERS_JUR ON T_PARTNERS.ID = T_PARTNERS_JUR.ID LEFT OUTER JOIN
           T_PARTNERS_FIS ON T_PARTNERS.ID = T_PARTNERS_FIS.ID
 SELECT T_PARTNERS.PARTNER_NAME,
      T_PARTNERS_FIS.F_PASSPORT_NO,
      T_PARTNERS_JUR.J_HEAD_STAFF,
      T_PARTNERS_JUR.J_HEAD_LAST_NAME
 FROM T_PARTNERS LEFT JOIN
          T_PARTNERS_JUR ON T_PARTNERS.ID = T_PARTNERS_JUR.ID LEFT JOIN
           T_PARTNERS_FIS ON T_PARTNERS.ID = T_PARTNERS_FIS.ID
 SELECT T_PARTNERS.PARTNER_NAME,
      T_PARTNERS_FIS.F_PASSPORT_NO,
      T_PARTNERS_JUR.J_HEAD_STAFF,
      T_PARTNERS_JUR.J_HEAD_LAST_NAME
 FROM T_PARTNERS RIGHT OUTER JOIN
          T_PARTNERS_JUR ON T_PARTNERS.ID = T_PARTNERS_JUR.ID RIGHT OUTER JOIN
           T_PARTNERS_FIS ON T_PARTNERS.ID = T_PARTNERS_FIS.ID
 SELECT T_PARTNERS.PARTNER_NAME,
      T_PARTNERS_FIS.F_PASSPORT_NO,
      T_PARTNERS_JUR.J_HEAD_STAFF,
      T_PARTNERS_JUR.J_HEAD_LAST_NAME
 FROM T_PARTNERS INNER JOIN
          T_PARTNERS_JUR ON T_PARTNERS.ID = T_PARTNERS_JUR.ID INNER JOIN
           T_PARTNERS_FIS ON T_PARTNERS.ID = T_PARTNERS_FIS.ID
 Все верны
 Все неверны
 Написать собственный вариант

Дано
T_XXX(
    ID UNICUEIDENTIFIER,
    BOOK_NAME VARCHAR(255),
    TOM_NO VARCHAR(255),
    PRICE MONEY,
   )
Получить стоимость всех трехтомников, имеющихся на складе, отсортированную по стоимости.  Для различных томов одного издания наименования одинаковы
Укажите верные варианты запроса
 SELECT SUM(PRICE)
 FROM T_XXX
WHERE TOM_NO=3
ORDER BY PRICE
 SELECT SUM(PRICE) AS SUMPRICE
 FROM T_XXX
WHERE TOM_NO=3
ORDER BY SUMPRICE
 SELECT BOOK_NAME,SUM(PRICE) AS SUMPRICE
 FROM T_XXX
WHERE TOM_NO<"3"
GROUP BY BOOK_NAME
ORDER BY SUMPRICE
 SELECT BOOK_NAME,
      (select price
         from t_xxx t1
        where t11.tom_no=1)+
      (select price
         from t_xxx t1
        where t11.tom_no=2)+
      (select price
         from t_xxx t1
        where t11.tom_no=3)
      ) SUMPRICE
 FROM T_XXX
ORDER BY SUMPRICE
 SELECT BOOK_NAME,
      (select price
         from t_xxx t1
        where T1.id=t_xxx.id
          and t1.tom_no=1)+
      (select price
         from t_xxx t2
        where T2.id=t_xxx.id
          and t2.tom_no=2)+
      (select price
         from t_xxx t3
        where T3.id=t_xxx.id
          and t3.tom_no=3)
      ) SUMPRICE
 FROM T_XXX
ORDER BY SUMPRICE
 
 SELECT BOOK_NAME,SUM(PRICE) AS SUMPRICE
 FROM T_XXX
GROUP BY BOOK_NAME
HAVING COUNT(BOOK_NAME)=3
ORDER BY SUMPRICE
 SELECT BOOK_NAME, SUMPRICE
FROM (SELECT BOOK_NAME,SUM(PRICE) AS SUMPRICE
       FROM T_XXX
      WHERE TOM_NO=3
     GROUP BY BOOK_NAME
     HAVING COUNT(BOOK_NAME)=3
    )
ORDER BY SUMPRICE
 SELECT TTT.BN, TTT.SUMPRICE
FROM (SELECT T_XXX.BOOK_NAME as BN,SUM(T_XXX PRICE) AS SUMPRICE
       FROM T_XXX
     GROUP BY BOOK_NAME
     HAVING COUNT(BOOK_NAME)=3
    ) as TTT
ORDER BY TTT.SUMPRICE
 Все верны
 Нет верного
 Написать собственный вариант

Дано
T_XXX (ID INTEGER IDENTITY(1,1),
              VALUE INTEGER
             )
Просуммировать поле "value"  в зависимости от количества незаполненных данных (null), то есть если пустых значений >1 то пустое значение, если 1 то 0, если ни одного то сумма.
Укажите верные варианты запроса
 SELECT SUM(VALUE)
FROM T_XXX
WHERE T_XXX.VALUE<>NULL
 IF (SELECT COUNT(VALUE)
     FROM T_XXX
    WHERE T_XXX.VALUE=NULL)=0
SELECT SUM(VALUE)
FROM T_XXX
ELSE IF (SELECT COUNT(VALUE)
     FROM T_XXX


 
paul_k ©   (2005-01-13 17:09) [2]

WHERE T_XXX.VALUE=NULL)=1
 SELECT 1
ELSE IF (SELECT COUNT(VALUE)
     FROM T_XXX
    WHERE T_XXX.VALUE=NULL)=1
 SELECT NULL
 Select case(SELECT COUNT(VALUE)
             FROM T_XXX
            WHERE T_XXX.VALUE=NULL)
       when 1 then 1
       when 0 then sum(value)
       else null
      end as res_value
from t_xxx
 Select case(SELECT COUNT(VALUE)
             FROM T_XXX
            WHERE T_XXX.VALUE IS NULL)
       when 1 then 1
       when 0 then sum(value)
       else null
      end as res_value
from t_xxx
 Select case(SELECT COUNT(VALUE)
             FROM T_XXX
            WHERE T_XXX.VALUE IS NULL)
       when 1 then 1
       when 0 then sum(value)
       when >1 then null
      end as res_value
from t_xxx
 Все верно
 Нет верного решения
 Написать свой вариант решения

Создать таблицу
 CONSTRUCT TABLE <Название>(Перечень полей)
 GENERATE TABLE <Название>(Перечень полей)
 CREATE TABLE  <Название>(Перечень полей)
 PRODUCE TABLE <Название>(Перечень полей)
 DROP TABLE <Название>(Перечень полей)
 DELETE TABLE <Название>(Перечень полей)
 ALTER TABLE <Название>(Перечень полей)
 EDIT TABLE <Название>(Перечень полей)
 CHANGE TABLE <Название>(Перечень полей)
 MAINTAIN TABLE <Название>(Перечень полей)
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Создать представление
 CONSTRUCT VIEW <название> AS <запрос>
 GENERATE VIEW <название> AS <запрос>
 CREATE VIEW  <название> AS <запрос>
 PRODUCE VIEW <название> AS <запрос>
 DROP VIEW <название> AS <запрос>
 DELETE VIEW <название> AS <запрос>
 ALTER VIEW <название> AS <запрос>
 EDIT VIEW <название> AS <запрос>
 CHANGE VIEW <название> AS <запрос>
 MAINTAIN VIEW <название> AS <запрос>
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Изменить таблицу
 CONSTRUCT TABLE <Название>
 GENERATE TABLE <Название>
 CREATE TABLE  <Название>
 PRODUCE TABLE <Название>
 DROP TABLE <Название>
 DELETE TABLE <Название>
 ALTER TABLE <Название>
 EDIT TABLE <Название>
 CHANGE TABLE <Название>
 MAINTAIN TABLE <Название>
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Создать временную таблицу
 CONSTRUCT TABLE #<Название>(Перечень полей)
 GENERATE TABLE #<Название>(Перечень полей)
 CREATE TABLE  ##<Название>(Перечень полей)
 CREATE TABLE  #<Название>(Перечень полей)
 PRODUCE TABLE # <Название>(Перечень полей)
 DROP TABLE #<Название>(Перечень полей)
 DELETE TABLE #<Название>(Перечень полей)
 ALTER TABLE #<Название>(Перечень полей)
 EDIT TABLE #<Название>(Перечень полей)
 CHANGE TABLE #<Название>(Перечень полей)
 MAINTAIN TABLE #<Название>(Перечень полей)
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Описание полей таблицы хранится в
 Таблице
 Enterprise manager
 Где-то там
 Таблице syscolumns
 Таблице sysobjects
 Все верно
 Все неверно
 Написать свой ответ

Чтобы проверить наличие процедуры надо обратится к таблице
 sysindexes
 syscomments
 sysobjects
 sysusers
 syscolumns
 Я в Enterprise manager посмотрю
 Все неверно
 Написать свой ответ

Чтобы проверить наличие индекса надо обратится к таблице
 sysindexes
 syscomments
 sysobjects
 sysusers
 syscolumns
 Я в Enterprise manager посмотрю.
 Все неверно
 Написать свой ответ

Чтобы посмотреть текст хранимой процедуры надо
 Обратится к таблице sysindexes
 Обратится к таблице syscomments
 Обратится к таблице sysobjects
 Обратится к таблице sysusers
 Обратится к таблице syscolumns
 обратится к процедуре sp_help
 обратится к процедуре sp_helpdb
 обратится к процедуре sp_helpdevice
 обратится к процедуре sp_helpindex
 обратится к процедуре sp_helplogins
 обратится к процедуре sp_helptrigger
 обратится к процедуре sp_helptext
 Я в Enterprise manager посмотрю
 Все неверно
 Написать свой ответ

Чтобы посмотреть данные о таблице
 Обратится к таблице sysindexes
 Обратится к таблице syscomments
 Обратится к таблице sysobjects
 Обратится к таблице sysusers
 Обратится к таблице syscolumns
 обратится к процедуре sp_help
 обратится к процедуре sp_helpdb
 обратится к процедуре sp_helpdevice
 обратится к процедуре sp_helpindex
 обратится к процедуре sp_helplogins
 обратится к процедуре sp_helptrigger
 обратится к процедуре sp_helptext
 Я в Enterprise manager посмотрю, а вы пошли …
 Все неверно
 Написать свой ответ

Чтобы изменить настройки сервера надо
 Обратится к таблице sysindexes
 Обратится к таблице syscomments
 Обратится к таблице sysobjects
 Обратится к таблице sysusers
 Обратится к таблице syscolumns
 обратится к процедуре sp_help
 обратится к процедуре sp_configure
 обратится к процедуре sp_helpdevice
 обратится к процедуре sp_helpindex
 обратится к процедуре sp_helplogins
 обратится к процедуре sp_helptrigger
 обратится к процедуре sp_helptext
 Enterprise manager навсегда
 Все неверно
 Все верно
 Написать свой ответ

Чтобы изменить доступ пользователю к таблице надо
 Обратится к таблице sysusers
 Обратится к таблицам sysobjects, sysusers, syspermissions.
 Использовать инструкцию GRANT
 Использовать инструкцию REVOKE
 Enterprise manager, открыть свойства таблицы и расставить галочки.
 Все неверно
 Все верно
 Написать свой ответ

Триггера
Триггер это
Напишите определение, необязательно формальное

Чтобы обратится к добавляемым данным надо
 Внутри триггера обратится к таблице inserted
 Внутри триггера обратится к таблице updated
 Внутри триггера обратится к таблице delited
 Все неверно
 Все верно
 Написать свой ответ

Чтобы обратится к изменяемым данным надо
 Внутри триггера обратится к таблице inserted
 Внутри триггера обратится к таблице updated
 Внутри триггера обратится к таблице delited
 Все неверно
 Все верно
 Написать свой ответ

Чтобы обратится к удаляемым данным надо
 Внутри триггера обратится к таблице inserted
 Внутри триггера обратится к таблице updated


 
paul_k ©   (2005-01-13 17:09) [3]

Внутри триггера обратится к таблице delited
 Все неверно
 Все верно
 Написать свой ответ

Процедуры
Хранимая процедура это
Напишите определение, необязательно формальное

Транзакция это
Напишите определение, необязательно формальное

Создать хранимую процедуру
 CONSTRUCT PROCEDURE  <Название>
 GENERATE PROCEDURE  <Название>
 CREATE PROCEDURE   <Название>
 PRODUCE PROCEDURE  <Название>
 DROP PROCEDURE  <Название>
 DELETE PROCEDURE  <Название>
 ALTER PROCEDURE  <Название>
 EDIT PROCEDURE  <Название>
 CHANGE PROCEDURE  <Название>
 MAINTAIN PROCEDURE  <Название>
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Изменить хранимую процедуру
 CONSTRUCT PROCEDURE  <Название>
 GENERATE PROCEDURE  <Название>
 CREATE PROCEDURE   <Название>
 PRODUCE PROCEDURE  <Название>
 DROP PROCEDURE  <Название>
 DELETE PROCEDURE  <Название>
 ALTER PROCEDURE  <Название>
 EDIT PROCEDURE  <Название>
 CHANGE PROCEDURE  <Название>
 MAINTAIN PROCEDURE  <Название>
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Удалить хранимую процедуру
 CONSTRUCT PROCEDURE  <Название>
 GENERATE PROCEDURE  <Название>
 CREATE PROCEDURE   <Название>
 PRODUCE PROCEDURE  <Название>
 DROP PROCEDURE  <Название>
 DELETE PROCEDURE  <Название>
 ALTER PROCEDURE  <Название>
 EDIT PROCEDURE  <Название>
 CHANGE PROCEDURE  <Название>
 MAINTAIN PROCEDURE  <Название>
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Проверить существование процедуры в базе
 Обратится к таблице sysindexes
 Обратится к таблице syscomments
 Обратится к таблице sysobjects
 Обратится к таблице sysusers
 Обратится к таблице syscolumns
 обратится к процедуре sp_help
 обратится к процедуре sp_configure
 обратится к процедуре sp_helpdevice
 обратится к процедуре sp_helpindex
 обратится к процедуре sp_helplogins
 обратится к процедуре sp_helptrigger
 обратится к процедуре sp_helptext
 Enterprise manager навсегда
 Все неверно
 Все верно
 Написать свой ответ

Необходимо создать временную таблицу в процессе исполнения процедуры. Отметьте правильные варианты решения.
 BEGIN
CREATE TABLE #TMP (ПЕРЕЧЕНЬ ПОЛЕЙ)
[ДЕЙСТВИЯ]
DROP TABLE #TMP
END
 BEGIN TRAN
CREATE TABLE #TMP (ПЕРЕЧЕНЬ ПОЛЕЙ)
[ДЕЙСТВИЯ]
DROP TABLE #TMP
COMMIT TRAN
 BEGIN
CREATE TABLE #TMP (ПЕРЕЧЕНЬ ПОЛЕЙ)
BEGIN TRAN
[ДЕЙСТВИЯ]
COMMIT TRAN
DROP TABLE #TMP
END
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Серверный курсор предназначен для:
 Организации цикла
 Организации последовательного доступа к строкам в наборе данных
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Объявить курсор
 CLOSE CURSOR <Название> FOR <запрос>
 DECLARE  CURSOR <Название> FOR <запрос>
 GENERATE CURSOR <Название> FOR <запрос>
 CREATE CURSOR  <Название> FOR <запрос>
 PRODUCE CURSOR <Название> FOR <запрос>
 DECLARE  <Название> CURSOR FOR <запрос>
 DEALLOCATE CURSOR <Название> FOR <запрос>
 OPEN CURSOR <Название> FOR <запрос>
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Открыть курсор
 CLOSE CURSOR <Название>
 DECLARE  CURSOR <Название>
 GENERATE CURSOR <Название>
 CREATE CURSOR  <Название>
 OPEN CURSOR <Название>
 DECLARE  <Название> CURSOR
 DEALLOCATE CURSOR <Название>
 OPEN <Название>
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Закрыть курсор
 CLOSE CURSOR <Название>
 DECLARE  CURSOR <Название>
 GENERATE CURSOR <Название>
 CLOSE <Название>
 CREATE CURSOR  <Название>
 PRODUCE CURSOR <Название>
 OPEN  <Название>
 DEALLOCATE CURSOR <Название>
 OPEN CURSOR <Название>
 Все верно
 Нет верного решения
 Написать свой вариант ответа

Задача.
Дано
Таблица ЦБ
Код
Название
Таблица котировок
Код
Код ЦБ
Код Торговой площадки
Дата
Значение
Написать запросы для решения следующих задач
1. Если дата котировки меньше текущей не более чем на 2 недели, то бумага имеет признаваемую котировку
   Торговую площадку принять @rate_place_id.
   Выбрать все ценные бумаги имеющие признаваемую котировку

2. Если на запрашиваемую дату котировки не существует, то  котировкой бумаги считается ближайшая предидущая существующая котировка
Найти котировку бумаги stock_id на текущую дату

3. Найти признаваемую котировку на текущую дату. Если таковой не найдено то вернуть пустое значение


 
Sandman25 ©   (2005-01-13 17:19) [4]

Жестокий тест. Я бы всюду выбирал "Верного определения нет, написать собственное" :-)


 
paul_k ©   (2005-01-13 17:20) [5]


> Sandman25 ©   (13.01.05 17:19) [4]

Что настолько все бред?
ну, в последнем пункте именно это и требуется:)


 
Игорь Шевченко ©   (2005-01-13 17:22) [6]

На мой взгляд - буквоедство :) По первой странице :)

С уважением,


 
paul_k ©   (2005-01-13 17:24) [7]


> Игорь Шевченко ©   (13.01.05 17:22) [6]

Буквоедство, не спорю.
а как оаределить быстро и эффективно, что человек update от insert не отличает?


 
Kerk ©   (2005-01-13 17:26) [8]

paul_k ©   (13.01.05 17:24) [7]
просто спросить


 
KSergey ©   (2005-01-13 17:27) [9]

> [7] paul_k ©   (13.01.05 17:24)
> а как оаределить быстро и эффективно, что человек update
> от insert не отличает?

А просто спросить кратко, своими словами рассказать? Все же разница между ними не столь несущественна, чтобы дотошно вычислять все тонкости взаимопонимания. Более того: возможны терминологические разночтения и тонкости реализаций на разных платформах (а о конкретном SQL-сенрвере я не нашел здесь, правда и не читал сколь-нбудь подробно). Впрочем второе - предположение, конкретно указать не могу.


 
paul_k ©   (2005-01-13 17:28) [10]


> Kerk ©   (13.01.05 17:26) [8]

просто спросить 10 раз на дню по 10 вопросов.
Сложно... Времени много.
Тест предназначен для чего:
пока с одним беседуешь другой уже на эти вопросы ответит... процесс ускоряется.


 
Ega23 ©   (2005-01-13 17:29) [11]

2 paul_k ©   (13.01.05 17:07)

Сначала нужно ввести единую формализованую семантику, причём в обще-мировом масштабе. Как определения законов Ньютона.
Возьмём самое первое.
Запрос это
команда, переданная серверу для исполнения
набор инструкций, переданный серверу баз данных для исполнения
набор инструкций, переданный серверу баз данных для исполнения, Результат - возврат сервером набора данных
инструкция, переданная серверу баз данных для получения или модификации набора данных.
Сам дурак
Верного определения нет, написать собственное.


Запрос - моё неистребимое желание получить на халяву трёхкомнатную квартиру и рыбацкий домик под Угличем.

Правильно я ответил? Правильно.
Хотя из предлагаемых наиболее подходит
набор инструкций, переданный серверу баз данных для исполнения, Результат - возврат сервером набора данных
и то, с этим можно спорить.
И так по всем вопросам.


 
by ©   (2005-01-13 17:29) [12]

paul_k ©   (13.01.05 17:24) [7]
как оаределить быстро и эффективно, что человек update от insert не отличает?

Спросить ))))

Просто большинство из приведенного это синтаксис, я например, всего не помню. Для уточнения существуют хелпы и Code insight всякие, не на листочке ж проги пишите.
А вакансия то какая? знание синтаксиса SQL ?


 
Sandman25 ©   (2005-01-13 17:29) [13]

[5] paul_k ©   (13.01.05 17:20)

Согласен с [6]. Я не знаю, что такое SELECT - оператор или конструкция языка. Но я знаю, что это ключевое слово, с которого начинаются все запросы на получение данных из БД.
Хороший БД программист не обязан помнить точный синтаксис. Некоторые вещи используются редко, кое-где вообще тест на знание языкка получается.
Я 5 лет работал с СУБД, но очень часто писал OPEN CURSOR c1 вместо OPEN c1, так что, не взяли бы? :-)

ЗЫ. Если в языке есть OPEN WINDOW w1, то поневоле хочется написать OPEN CURSOR c1. Поэтому всегда путал :)


 
KSergey ©   (2005-01-13 17:33) [14]

> [8] Kerk ©   (13.01.05 17:26)
> просто спросить

Синхронно мыслим! ;)


 
paul_k ©   (2005-01-13 17:34) [15]


>Sandman25 ©   (13.01.05 17:29) [13]

Так для чего и спрашиваю, перед тем как массово соискателям его совать.
Будь моя воля - так просто последнюю задачу оставил бы .
НО
на бумаге её решило за полгода 4 человека всго!!! жуть


 
KSergey ©   (2005-01-13 17:38) [16]

А платить-то хоть сколько собираетесь?
А то сейчас выяснится, что дороже человеку соотв. квалификации этот тест решать ;)


 
KSergey ©   (2005-01-13 17:40) [17]

> [11] Ega23 ©   (13.01.05 17:29)
> Возьмём самое первое.
> Запрос это
> команда, переданная серверу для исполнения
> набор инструкций, переданный серверу баз данных для исполнения
> набор инструкций, переданный серверу баз данных для исполнения,
> Результат - возврат сервером набора данных
> инструкция, переданная серверу баз данных для получения
> или модификации набора данных.
> Сам дурак
> Верного определения нет, написать собственное.
>
> Запрос - моё неистребимое желание получить на халяву трёхкомнатную
> квартиру и рыбацкий домик под Угличем.
>
> Правильно я ответил? Правильно.
> Хотя из предлагаемых наиболее подходит
> набор инструкций, переданный серверу баз данных для исполнения,
> Результат - возврат сервером набора данных

Про квартиру - согласен, про вариант ответа - нет... По-моему - просто "набор инструкций, переданный серверу баз данных для исполнения"


 
paul_k ©   (2005-01-13 17:41) [18]

То есть выкинуть все вопросы относительно синтаксиса будет верным?
заменить их вопросами вида

дан запрос
Select case(SELECT COUNT(VALUE)
            FROM T_XXX
           WHERE T_XXX.VALUE=NULL)
      when 1 then 1
      when 0 then sum(value)
      else null
     end as res_value
from t_xxx
прокомментируйте в чем тут ошибка, если она есть?


 
Sandman25 ©   (2005-01-13 17:41) [19]

[15] paul_k ©   (13.01.05 17:34)

Значит, нужно упростить задачу. Чтобы ответами был несложные запросы с LEFT JOIN, GROUP BY, HAVING, SUM, COUNT(DISTINCT поле), и не очень сложные комбинации этих штук.


 
KSergey ©   (2005-01-13 17:43) [20]

Хотя что такое "инструкция" - тоже хрен знает.. Мож. они что другое имели в виду.

Есть же книжки для подготовки к сертификационным экзаменам с примерами вопросов

Мне когда аналогичную задачу поставили - наксерил прямо оттуда то, что считал нужным (и сам понимал ;) - да и все.
Даже если человек отвечал бы только потому, что книжку эту читал - все едино это ему в плюс, значит и объяснения оттуда знает, что уже хорошо. Да и вообще - читать умеет ;)


 
Sandman25 ©   (2005-01-13 17:45) [21]

Если это MS SQL, можно найти неплохие тесты на www.sql-ex.ru
От самых простых до головоломных. Останется только найти тот уровень, который требуется в кандидате


 
paul_k ©   (2005-01-13 17:46) [22]


> KSergey ©   (13.01.05 17:43) [20] [Новое
>сообщение][Ответить]
> Хотя что такое "инструкция" - тоже хрен знает..

да практически подстрочник из BOL

а такие книжки в сети есть или нада в магазин идтить?


 
Игорь Шевченко ©   (2005-01-13 17:47) [23]

А можно проще - попросить порешать SQL Puzzles от Joe Celko :) Тогда вы точно никого не наберете :))


 
KSergey ©   (2005-01-13 17:49) [24]

> [22] paul_k ©   (13.01.05 17:46)
> а такие книжки в сети есть или нада в магазин идтить?

А вы их не читали? А тесты составляете? :(
Стыдно должно быть.

Не выпендриваюсь, но так...

PS
К стати, лично меня всегда мучил один вопрос: сам-то я отвечу на эти тесты или нет? ;)


 
paul_k ©   (2005-01-13 17:50) [25]


> Sandman25 ©   (13.01.05 17:45) [21]

Спасибо за подсказку надо посмотреть


 
paul_k ©   (2005-01-13 17:52) [26]


> KSergey ©   (13.01.05 17:49) [24]

а что делать.. да не читал и... и совсем не горжусь этим
Партия сказала надо и того.. писать бред...
PS
я через сутки после составления своего бреда уже сам путаюсь где правильные ответы а где нет


 
by ©   (2005-01-13 17:55) [27]

paul_k ©   (13.01.05 17:41) [18]
Вот счас смотрю на этот запрос, и не вижу ошибки. А загружу в какой-то SQL Explorer и прочитаю текст ошибки и пойму. Это значит что я не знаю SQL?

К сожалению для рабочего времени работодателя, реальные знания более или менее может показать только испытательный срок ((


 
Sandman25 ©   (2005-01-13 17:58) [28]

[18] paul_k ©   (13.01.05 17:41)

Тут, по-моему, одна сплошная ошибка.
Подзапрос не зависит от основной таблицы (хотя это может и не ошибка). Sum без group by. =null вместо is null.


 
KSergey ©   (2005-01-13 17:58) [29]

> [26] paul_k ©   (13.01.05 17:52)

ладно, я так...


 
paul_k ©   (2005-01-13 18:05) [30]


> Sandman25 ©   (13.01.05 17:58) [28]

по условию задачто тока = null вместо is null и есть ошибкой.


> by ©   (13.01.05 17:55) [27]

так вот дело то в чем.. Хочется понять внимателен человек или "какой-то SQL Explorer" за него думает


 
by ©   (2005-01-13 18:19) [31]

paul_k ©   (13.01.05 18:05) [30]
Хочется понять внимателен человек или "какой-то SQL Explorer" за него думает

Вакансия то какая ? ))
Может вы уборщицу ищете или архитектора системы - так нафиг им знать детально синтаксис?

Да и по сиснтаксису - Вы знате детально весь Object Pascal, например, или все таки выявление ошибок во время компиляции вам помагает?


 
by ©   (2005-01-13 18:20) [32]

by ©   (13.01.05 18:19) [31]
уууу, скоко очепяток, не берите меня соискателем ))


 
paul_k ©   (2005-01-13 18:23) [33]

вакансия?
образование высшее, желательно в области программирования. Опыт работы от года, минимум 1 законченный проект экономического характера, желательно знакомство с Microsoft SQL Server или любым другим SQL-сервером. Вакансия предполагает быстрое освоение продуктов компании на уровне разработчика, умение общаться с клиентами, наличие базовых понятий о бухгалтерии. Проводится: обучение программированию на MS SQL, Sybase, PowerBuilder, тренинги по депозитарному учету, бэк-офису, бухгалтерии.
Требуются: Хорошее знание SQL, быстрая обучаемость, обстоятельность, готовность вести проект самостоятельно.
Поощряется: стремление к творчеству не в ущерб срокам.Рабочий день: гибкий график (40 часов в неделю).
Зарплата ПО РЕЗУЛЬТАТАМ СОБЕСЕДОВАНИЯ.


 
by ©   (2005-01-13 18:30) [34]

paul_k ©   (13.01.05 18:23) [33]
Опыт работы от года, минимум 1 законченный проект экономического характера

Вот наверно этот законченный проект и нужно смотреть.


 
paul_k ©   (2005-01-13 18:33) [35]


> by ©   (13.01.05 18:30) [34][Ответить]
> Вот наверно этот законченный проект и нужно смотреть.

так не показвают:)
клещами тянуть приходится что писал в чем смысел того что писал и так далее.
были случаи - приносит код спрашиваешь - а тут что делаешь?
а х.. его знает эту часть не я писал...
фигли тогда этот код принес?


 
by ©   (2005-01-13 18:48) [36]

paul_k ©   (13.01.05 18:33) [35]
Тогда конечно трудно.

А по теме - я считаю что определения спрашивать бесполезно, не на экзамене же.


 
paul_k ©   (2005-01-13 18:57) [37]

да вот предложили с сайта задачек взять. наверное так и сделаем..


 
KSergey ©   (2005-01-13 20:36) [38]

> paul_k ©   (13.01.05 18:33) [35]
> так не показвают:)
> а х.. его знает эту часть не я писал...

пинка под зад, чего зря время отнимает?

ПО РЕЗУЛЬТАТАМ СОБЕСЕДОВАНИЯ.

Просто из любопытства: от?


 
paul_k ©   (2005-01-13 21:07) [39]


> KSergey ©   (13.01.05 20:36) [38]
> пинка под зад, чего зря время отнимает?

Хмм.. ну так и сделали, естессено.
от хмм.. напишу - совсем заклюют... не напишу ещё больше заклюют



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.65 MB
Время: 0.038 c
3-1104141098
PSH
2004-12-27 12:51
2005.01.30
Разрыв страницы в Report Builder Pro 7.03


4-1102587212
Alexius
2004-12-09 13:13
2005.01.30
Как узнать, какая программа обращается к COM порту?


11-1088618446
Red Wind
2004-06-30 22:00
2005.01.30
CloseQuery


1-1105699707
Marsello
2005-01-14 13:48
2005.01.30
Связь с Mathemathica 5


1-1106159488
Bobby Digital
2005-01-19 21:31
2005.01.30
StringGird





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский