Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/125: Рейтинг темы: голосов - 125, средняя оценка - 4.90
Axel586
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 4
1

Запрос с параметром

22.09.2010, 22:25. Просмотров 22990. Ответов 9
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста создать запрос с параметром.
Недавно начал изучать SQL Server и не могу понять как передать значение параметра во время выполнения запроса.
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2010, 22:25
Ответы с готовыми решениями:

Запрос с параметром
Добрый день! Как в MS SQL Server реализовать запрос с параметром, чтобы...

Запрос с параметром
Есть некий запрос...... необходимо: Если к примеру @paramRegion = 220 то в...

Запрос с параметром даты
Подскажите пожалуйста, как сделать чтобы вместо 2015 вводить год самому ...

Запрос с параметром (имя таблицы)
Можно ли сделать запрос с параметром, в качестве параметра указать имя таблицы?...

Запросы с параметром
Добрый день. Как делать запросы с параметром как в MS Aсcess? Допустим...

9
Башир
207 / 207 / 20
Регистрация: 18.05.2010
Сообщений: 846
22.09.2010, 22:27 2
Цитата Сообщение от Axel586 Посмотреть сообщение
как передать значение параметра во время выполнения запроса.
Не совсем понятно? объясните более предметнее на примере что вы хотите.
1
Axel586
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 4
22.09.2010, 22:47  [ТС] 3
Запрос:
select ps.[Номер], ps.[Дата] from stack.[Показания счетчиков] ps
where ps.[Дата] = Х
В качестве параметра "Х" надо задать месяц!
0
Башир
207 / 207 / 20
Регистрация: 18.05.2010
Сообщений: 846
22.09.2010, 23:05 4
Если речь идет строго о запросах внутри SQL без использование среды разработки, например C# или Delphi то вот так
SQL
1
2
3
4
DECLARE @X datetime
SET @X=GETDATE()
SELECT ps.[Номер], ps.[Дата] FROM stack.[Показания счетчиков] ps
WHERE ps.[Дата] =
или если это офоримить как проседуру то
SQL
1
2
3
4
5
CREATE proc SelectWithParam
@X datetime
AS
SELECT ps.[Номер], ps.[Дата] FROM stack.[Показания счетчиков] ps
WHERE ps.[Дата] =
и вызывается проседура
SQL
1
EXEC SelectWithParam getdate()
1
Axel586
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 4
22.09.2010, 23:46  [ТС] 5
А еще вопросик для примера с простым селектом значение даты задать не через текущую дату getdate(), а через месяц (например март, через интервал between '01.03.2010' and '31.03.2010')
SQL
1
2
SELECT  ps.[Дата] FROM stack.[Показания счетчиков] ps
WHERE ps.[Дата] BETWEEN @p AND @p1
(можно ли задать значение параметров где-то пред выполнением запроса или значение этих параметров нужно обязательно присваивать после declare?)
0
Башир
207 / 207 / 20
Регистрация: 18.05.2010
Сообщений: 846
23.09.2010, 09:51 6
Я вам написал простой пример, а уж там вы сами ставте ту дату которая вам нужна
Цитата Сообщение от Axel586 Посмотреть сообщение
можно ли задать значение параметров где-то пред выполнением запроса или значение этих параметров нужно обязательно присваивать после declare?
DECLARE нужно для объявление переменных, можете воспользоватся процедурой. Во первых я вообще не понимаю суть вашей проблемы, объясните до конца что вам нужно. во вторых, вы задаете вопрос в узком месте и мне не понятно зачем вам это. Скажите где и как вы хотите это использовать. И в третьих помоему вам нужно немного почитать про СУБД.
0
Axel586
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 4
23.09.2010, 11:50  [ТС] 7
Просто в Oracle параметр запроса объявляется к примеру "= : X" и при выполнении запроса выскакивает окно, где вводится значение переменной. И я вот хочу узнать возможно ли такое в SQL Server или же параметры объявляются только в тексте самого запроса? О_о
0
Башир
207 / 207 / 20
Регистрация: 18.05.2010
Сообщений: 846
23.09.2010, 12:00 8
Не важно Oracle это или MSSQL в конце концов запросы посылаются с какой то программы написанные на Delphi или С# или в любых других средах разработки. И везде свои особенности использование. вот о чем я вас спрашиваю уже 2-й день.
0
troika
6 / 6 / 2
Регистрация: 06.12.2009
Сообщений: 51
19.12.2011, 16:19 9
Что бы не создавать схожую новую тему, спрошу тут. Как можно в MsSql передать часть запроса параметром? Т.е. нечто вроде:
SQL
1
2
3
4
CREATE proc SelectWithParam
@dop VARCHAR(100)
AS
SELECT * FROM table1 + @dop
И например вызов:
SQL
1
EXEC SelectWithParam ' where table1.id in (1,2)'
В оракле получилось так:
SQL
1
2
3
4
5
6
7
8
FUNCTION SelectWithParam(dop varchar2) RETURN sys_refcursor
AS
  Res sys_refcursor;
BEGIN
         OPEN Res FOR
            'select * from table1 ' ||p_otd||' ;
          Return Res;
end
В MsSql соединение строк не получилось
0
homich77
79 / 78 / 4
Регистрация: 06.04.2009
Сообщений: 326
19.12.2011, 19:16 10
Лень было писать маленький пример, кидаю часть кода для понимания:
SQL
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
CREATE proc pFind
    @TreeFilter INT, --= 871,
    @DatesFrom smalldatetime, --= '2011-10-01',
    @DatesTo smalldatetime, --= '2011-12-01',
    @Dates VARCHAR(MAX) --= '[2011-10-01],[2011-11-01]',
AS
 
    DECLARE @leftkey INT, 
            @rightkey INT,
            @IDEmployee INT, 
            @SQLStr NVARCHAR(MAX)
            
    SELECT @IDEmployee=IDEmployee 
    FROM Employees (NOLOCK) 
    WHERE hostname=CURRENT_USER 
 
    SELECT  @leftkey = leftkey,
            @rightkey = rightkey 
    FROM Tree (NOLOCK) 
    WHERE ID=@TreeFilter 
 
    --select @Dates
    SET @SQLStr = ' select * 
                    from ( 
                        select ..
                        from Employees e (NOLOCK) 
                               where ..
                    ) as p pivot (sum(Payment) for Dates in (' + @Dates + ')) as pvt 
                    order by sort'
    EXEC sp_executesql @SQLStr
    --print @SQLStr
GO
Добавлено через 33 секунды
Другими словами - сначала формируем строку, а потом её вызываем как команду
1
19.12.2011, 19:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2011, 19:16

Sql с параметром
помогите сделать запрос с параметром смотрел на форуме не получается вот...

Как сделать запрос, что бы найти минимальное число через под ЗАПРОС
Этот запрос у меня считает минимальное время ( сколько часов ведет урок...

Помогите создать процедуру с параметром
Нужно создать процедуру с параметром, которая при вводе кода менеджера в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru