Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RFpro.ru: Базы данных MySQL


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Megaloman
Статус: Академик
Рейтинг: 102
∙ повысить рейтинг »
solowey
Статус: Студент
Рейтинг: 8
∙ повысить рейтинг »
Alexander Babich
Статус: Профессор
Рейтинг: 0
∙ повысить рейтинг »

∙ Базы данных

Номер выпуска:535
Дата выхода:28.03.2019, 18:15
Администратор рассылки:Коцюрбенко Алексей Владимирович (Модератор)
Подписчиков / экспертов:20 / 16
Вопросов / ответов:3 / 8

Консультация # 27869: Здравствуйте эксперты! Опять вопрос по триггерам. Вот текст ALTER TRIGGER Таблица1_Trigger1 ON dbo.Таблица1 FOR INSERT, UPDATE AS Declare @Nотдела char(5),@Nсотрудника char(5), @x int Select @Nотдела=i.Nотдела,@Nсотрудника=i.Nсотрудника from inserted i SELECT COUNT(Distinct Nотдела) FROM таблица1 ...
Консультация # 41116: Уважаемые эксперты! У меня проблема Interbase\'овской базой. При попытке просмотреть вкладку Data из IBConsole или сторонней программы IBExpert, выдаётся одно и то же сообщение об ошибке: invalid token. invalid request BLR at offset 250. function DROP_STATE is not defined. module name or entrypoint could not be found.Консультация # 71132: Здравствуйте! Подскажите пожалуйста, что в настройках сервера mysql мне нужно исправить? поле создано: `description` VARCHAR(255) NOT NULL, когда вставляю, возвращает ошибку: Data too long for column \'description\' at row 1 ..

Консультация # 27869:


Здравствуйте эксперты!
Опять вопрос по триггерам. Вот текст
ALTER TRIGGER Таблица1_Trigger1
ON dbo.Таблица1
FOR INSERT, UPDATE
AS

Declare @Nотдела char(5),@Nсотрудника char(5), @x int
Select @Nотдела=i.Nотдела,@Nсотрудника=i.Nсотрудника
from inserted i

SELECT COUNT(Distinct Nотдела) FROM таблица1 WHERE Nотдела<>@Nотдела AND Nсотрудника=@Nсотрудника
if ??????
begin
ROLLBACK TRAN
RAISERROR (\'hh\',16,19)
end

Подскажите пожалуйста как мне теперь выташить из запроса значение возвращаемое функциеЙ count чтобы использовать его в условии( я пометил это место знаками вопроса)?
Заранее благодарен.

Дата отправки: 18.10.2005, 04:14
Вопрос задал: Ивченков Владислав Владимирови
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Tsechoev Bagaudin:

Здравствуйте, Ивченков Владислав Владимирович!
Точно также как и в запросе к таблице inserted
DECLARE @ROW_COUNT AS INT
SELECT @ROW_COUNT = COUNT(*) FROM TABLE_1 WHERE FIELD_1 = VALUE_1
или еще проще, и лучше, воспользуйтесь встроенной функцией MS SQL, которая возвращает количество обработанных или возвращенных строк - @@ROWCOUNT. После выполнения любого запроса, вызов данной функции возвращает количество обработанных строк.
Удачи!

Консультировал: Tsechoev Bagaudin
Дата отправки: 18.10.2005, 05:30
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Rusland:

Здравствуйте, Ивченков Владислав Владимирович!
Нужно писать
SELECT COUNT(Distinct Nотдела) AS @Notdel FROM таблица1 WHERE Nотдела<>@Nотдела AND Nсотрудника=@Nсотрудника
В @Notdel будет значение функции Count.

Консультировал: Rusland
Дата отправки: 18.10.2005, 09:19
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует КиберТварь:

Здравствуйте, Ивченков Владислав Владимирович!
есть такая конструкция SELECT-a
SELECT что-то
INTO переменная
FROM таблица
.........

Приложение:

Консультировал: КиберТварь
Дата отправки: 18.10.2005, 09:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Lector:

Здравствуйте, Ивченков Владислав Владимирович!
В oracle я применяю конструкцию select ... into ... from ... where ...
Тогда результат запроса присваивается переменной, стоящей в блоке into. Может и здесь сработает.

Консультировал: Lector
Дата отправки: 18.10.2005, 11:28
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 41116:

Уважаемые эксперты!

У меня проблема Interbase\'овской базой. При попытке просмотреть вкладку Data из IBConsole или сторонней программы IBExpert, выдаётся одно и то же сообщение об ошибке:

invalid token.
invalid request BLR at offset 250.
function DROP_STATE is not defined.
module name or entrypoint could not be found.

что вообще такое token?
пробовал переустановить InterBase, ставил разные версии - ошибка остаётся, значит дело не в библиотеках.
самое интересное, что архивная копия gdb (которую я не только не изменял, но даже и не открывал до этого) тоже ведёт себя так же.

Вопрос 2. Как мне подключить InterBase\'овскую базу данных к MS SQL Server\'у. Нужно ли для этого сначала перевести её в другой формат и как это сделать?

Заранее спасибо!

Дата отправки: 24.04.2006, 03:55
Вопрос задал: ProgramNigger
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Архангельский Андрей Германови:

Здравствуйте, ProgramNigger!
1)
invalid token - недействительный символ
invalid request BLR at offset 250 - неправильный запрос BLR по смещению 250
function DROP_STATE is not defined. - function DROP_STATE не определена
BLR - это скомпилированная функция (во внутреннем формате)

Не знаю твоего кода, но по сообщению похоже что IB не находит внешнюю функцию (UDF). Это бывает в нескольких вариантах
- модуль содержащий функцию не лежит в каталоге UDF
- функция не описана в БД (не определена)

2) Подключить IB- базу к MS SQL Server\'у нельзя. Можно перевести БД в SQL-скрипт и создать БД в новом формате, но MS SQL Server не поддерживает стандартный SQL, точнее поддерживает с различными "изобрЕтениями". Вдобавок Администрирование MS SQL Server много сложнее.

Консультировал: Архангельский Андрей Германови
Дата отправки: 24.04.2006, 10:14
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 71132:

Здравствуйте!

Подскажите пожалуйста, что в настройках сервера mysql мне нужно исправить?

поле создано:
`description` VARCHAR(255) NOT NULL,

когда вставляю, возвращает ошибку:
Data too long for column \'description\' at row 1

Дата отправки: 16.01.2007, 03:50
Вопрос задал: Талипов А Н
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Heartwork:

Здравствуйте, Талипов А Н!
Извиняюсь за банальность, но попробуйте проверить всё-таки то обстоятельство, которое указано в исключении. Вдруг у вас на самом деле текст, который вы пытаетесь вставить в поле \'description\', занимает больше 255 символов для одной строки?

Консультировал: Heartwork
Дата отправки: 16.01.2007, 09:13
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Архангельский Андрей Германови:

Здравствуйте, Талипов А Н!

Он пишет "Слишком длинные данные для поля"
Как только появляется not null, то подразумевается индекс. Нужно посмотреть какой допустимый размер индекса для MySQL, в Firebird 1.5 это 176 символов.

Консультировал: Архангельский Андрей Германови
Дата отправки: 16.01.2007, 09:45
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Устинов Сергей Евгеньевич:

Здравствуйте, Талипов А Н!

Я думаю, проблема во вводе только кириллических символов, т.е. когда Вы вводите английский текст - все нормально. Если это не так - укажите в минифоруме.

Осмелюсь предположить такой вариант решения (т.к. не знаю, каким методом Вы соединяетесь с сервером):

Для этого поля посмотрите, чтобы "сравнение" было cp1251_general_ci.

При подключении к MySQL (опять же осмелюсь предположить, что Вы соединяетесь с MySQL из PHP) выполняете такие команды:

$link = @mysql_connect($DB_host, $DB_login, $DB_password)
or die ("Нет соединения с базой данных!");
mysql_query("SET character_set_client = cp1251",$link);
mysql_query("SET character_set_connection = cp1251",$link);
mysql_query("SET character_set_results = cp1251",$link);
@mysql_select_db($DB_name, $link)
or die ("Невозможно выбрать базу данных");

Хотя если Вы соединяетесь с БД не из PHP, то все-равно можно выполнить те же запросы.

Удачи!

Консультировал: Устинов Сергей Евгеньевич
Дата отправки: 16.01.2007, 13:56
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное