Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 11:53   #1
Cartman18
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 28
По умолчанию Хранимая процедура.

Здравствуйте, мне нужно написать процедуру в Inter Base, само задание звучит так: "Создать процедуру выбора, которая осуществляет выборку записей из таблицы Страна, в которых Наименование страны и Столицы начинаются на одну букву.". Вот как создавать простенькие процедуры в курсе.( А как эту создать, вообще без понятия... Таблица состоит из двух полей "страна" и "столица"
Заранее большое спасибо...
Cartman18 вне форума Ответить с цитированием
Старый 06.05.2010, 18:28   #2
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

InterBase поддерживает функцию SUBSTRING? Или что-нибудь подобное?
Если да, то это будет выглядеть примерно так:
Код:
SELECT city,
           country
  FROM CityCountry
WHERE SUBSTRING(city, 1, 1 ) = SUBSTRING(country, 1, 1 )
edgy вне форума Ответить с цитированием
Старый 06.05.2010, 19:10   #3
Cartman18
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 28
По умолчанию

Вроде поддерживает, но почему то не хочет выполнять запрос. А он так точно выглядит?

Последний раз редактировалось Cartman18; 06.05.2010 в 19:22.
Cartman18 вне форума Ответить с цитированием
Старый 06.05.2010, 20:14   #4
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Пример привел для MS SQL Server. Для InterBase, возможно, что это будет выглядеть чуть по-другому. Но сама идея, думаю, - вполне ясна.
edgy вне форума Ответить с цитированием
Старый 06.05.2010, 22:08   #5
Cartman18
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 28
По умолчанию

Этот интербейс не поддерживает, эту шнягу((( печально. Есть другие способы же(
Cartman18 вне форума Ответить с цитированием
Старый 07.05.2010, 08:24   #6
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

вот:
Код:
set term^;
create procedure sp_country
returns (name_c varchar(20))
as
begin
    for select name_country from t_country,t_city
        where SUBSTRING(name_city from 1 for 1) = SUBSTRING(name_country from 1 for 1)
    into :name_c  do
        suspend;
end^
set term;^
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 07.05.2010, 13:35   #7
Cartman18
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Sparky Посмотреть сообщение
вот:
Код:
set term^;
create procedure sp_country
returns (name_c varchar(20))
as
begin
    for select name_country from t_country,t_city
        where SUBSTRING(name_city from 1 for 1) = SUBSTRING(name_country from 1 for 1)
    into :name_c  do
        suspend;
end^
set term;^
а ты писал это где? В Ineter Base? или на Мicrosoft SQL? а то все равно не получается

Последний раз редактировалось Cartman18; 07.05.2010 в 13:44.
Cartman18 вне форума Ответить с цитированием
Старый 07.05.2010, 14:19   #8
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

писала на Firebird и проверяла тоже, какая ошибка?

должно работать, проверь есть ли в Interbase функция substring и ее параметры
Единственное, что ограничивает полет мысли программиста-компилятор

Последний раз редактировалось Stilet; 08.05.2010 в 11:33.
Sparky вне форума Ответить с цитированием
Старый 07.05.2010, 15:19   #9
Cartman18
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 28
По умолчанию

а как можно проверить, есть ли эта функция в ИБ?)
Cartman18 вне форума Ответить с цитированием
Старый 07.05.2010, 15:20   #10
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

интернет на что?, проверила вроде есть, что за ошибка выдается? и проверьте название таблиц и полей
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
хранимая процедура в INTERBASE Domanoff БД в Delphi 6 11.03.2010 20:47
хранимая процедура serg369 SQL, базы данных 4 07.02.2010 14:33
хранимая процедура(firebird) alex_-87 БД в Delphi 8 03.01.2010 14:59
Хранимая процедура на изменение. zajigateli SQL, базы данных 3 11.11.2009 15:56
Хранимая процедура. nimf БД в Delphi 2 22.04.2008 13:16