Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Хранимые процедуры  [new]
islam200890
Member

Откуда:
Сообщений: 64
Как можно вызвать хранимую процедуру из VS 2010 c#?
14 ноя 11, 16:29    [11594462]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
Retrieving Data Using Stored Procedures
14 ноя 11, 16:31    [11594472]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
http://msdn.microsoft.com/en-us/library/tyy0sz6b.aspx#Y670
14 ноя 11, 16:32    [11594480]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
islam200890
Member

Откуда:
Сообщений: 64
Добрый день!!! Я хотел бы узнать как мне создать хранимую процедуру, которая производила выборку из базы данных DB1 из таблицы table1 по полю status1 всех активных пользователей и возвращала бы в вызвавшую её процедуру таблицу с этой выборкой??? Напишите код если не трудно, а то смотрю в справочнике, но ни как не получается)
20 ноя 11, 16:29    [11627572]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
islam200890
Добрый день!!! Я хотел бы узнать как мне создать хранимую процедуру, которая производила выборку из базы данных DB1 из таблицы table1 по полю status1 всех активных пользователей и возвращала бы в вызвавшую её процедуру таблицу с этой выборкой??? Напишите код если не трудно, а то смотрю в справочнике, но ни как не получается)

create procedure MyProc
as
select * from DB1.dbo.table1
where status1 = 1
20 ноя 11, 16:52    [11627625]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
islam200890
Member

Откуда:
Сообщений: 64
Knyazev Alexey
islam200890
Добрый день!!! Я хотел бы узнать как мне создать хранимую процедуру, которая производила выборку из базы данных DB1 из таблицы table1 по полю status1 всех активных пользователей и возвращала бы в вызвавшую её процедуру таблицу с этой выборкой??? Напишите код если не трудно, а то смотрю в справочнике, но ни как не получается)

create procedure MyProc
as
select * from DB1.dbo.table1
where status1 = 1

Большое спасибо!!! А результат запроса он сам передаст в подпрограмму допустим из с# которая вызвала эту хранимую процедуру? просто я думал там их надо в какую нибудь возвращаемую переменную записать или нет? Просто потом с этой выборкой мне надо работать уже не в MS SQL а в C#.
20 ноя 11, 17:03    [11627646]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
islam200890
Member

Откуда:
Сообщений: 64
Knyazev Alexey,
Я чуть переделал ваш скрипт
create procedure MyProc
@perem bit
as
if @perem=1 select * from DB1.dbo.table1
            where status1 = 1
else   if @perem=0
          select * from DB1.dbo.table1
          where status1 = 0
       else  select * from DB1.dbo.table1;
просто там есть сортировка активен не активен и все, поэтому переменную пришлось добавить.
20 ноя 11, 17:22    [11627692]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
ё
Guest
islam200890
Knyazev Alexey,
Я чуть переделал ваш скрипт
create procedure MyProc
@perem bit
as
if @perem=1 select * from DB1.dbo.table1
            where status1 = 1
else   if @perem=0
          select * from DB1.dbo.table1
          where status1 = 0
       else  select * from DB1.dbo.table1;
просто там есть сортировка активен не активен и все, поэтому переменную пришлось добавить.

create procedure MyProc
@perem bit = null
as
select * from DB1.dbo.table1
where status1 = @perem or @perem is null
20 ноя 11, 17:47    [11627760]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8877
Ну или так - с тестовыми данными и коментариями:

create table dbo.table1 (   id int identity (1,1),
                            name nvarchar (255),
                            status1 bit)
;
insert into table1 (name, status1)
select 'Вася',1
union all
select 'Петя',0
union all
select 'Саша',null
union all
select 'Серёжа',0
union all
select 'Коля',1
;

go 
create procedure MyProc (@perem bit = null) as
begin
  -- Возвращаем либо активных (передаём 1) либо пассивных (передаём 0) либо всех (ничего не передаём при вызове)
  set nocount on; -- Убираем ненужные сообщения что бы их не пришлось ловить в программах вне MSSQL
  select * 
    from dbo.table1
    where @perem is null  -- Если Null или ничего (тоже самое) , то выводим вообще всех
       or status1 = @perem  -- Если не Null а что-то есть, то выводим либо тех либо других
    order by id      
end     ;
go
exec MyProc 1
exec MyProc 0
exec MyProc

drop table table1 -- подчищаем за собой - удаляем тестовую таблицу
drop procedure MyProc -- подчищаем за собой - удаляем тестовую процедуру
20 ноя 11, 18:04    [11627807]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
islam200890
Member

Откуда:
Сообщений: 64
Спасибо большое как дойду до места вызова из программы хранимой процедуры, если что не получится напишу. Спасибо всем за ответы.
20 ноя 11, 18:35    [11627892]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить