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

Откуда:
Сообщений: 189
добрый день.Никогда не писала хранимые процедуры, а теперь пришлось.мне нужно составить ХП на добавление данных из таблицы tbTechPumpCur в нее же. Только дата должна изменится на 2 часа вперед. Написала вот такую ХП,но так она просто копирует данные, а как написать чтоб еще 2 час добавила.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[addPump]
-- Add the parameters for the stored procedure here
@lcoObject int,
@ddate datetime
AS INSERT INTO tbTechPumpCur
(lcoObject, dDate, fP1, fP2, fP3, fP4, fT1, fT2, fT3, fT4, fG2, fQ2, bAgr1, fGhw, fQ1, fG1, bAgr2, bAgr3, bAgr4, bAgr5, bAgr6, bAgr7, bAgr8)

-- Insert statements for procedure here
SELECT lcoObject, dDate, fP1, fP2, fP3, fP4, fT1, fT2, fT3, fT4, fG2, fQ2, bAgr1, fGhw, fQ1, fG1, bAgr2, bAgr3, bAgr4, bAgr5, bAgr6, bAgr7, bAgr8
FROM tbTechPumpCur
SELECT @lcoObject, @ddate
Заранее спасибо.
28 окт 11, 08:21    [11513442]     Ответить | Цитировать Сообщить модератору
 Re: хранимая процедура  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
DateAdd - для полей типа DateTime?
28 окт 11, 08:25    [11513449]     Ответить | Цитировать Сообщить модератору
 Re: хранимая процедура  [new]
Guf
Member

Откуда: Новосибирск
Сообщений: 659
DATEADD (Transact-SQL)
28 окт 11, 08:27    [11513452]     Ответить | Цитировать Сообщить модератору
 Re: хранимая процедура  [new]
max2000
Member

Откуда:
Сообщений: 189
спасибо
скажите а как правильно ее запускать в access. Я запускаю вот так
Private Sub btnew_Click()

Dim Cn As ADODB.Connection
Dim Cmd As New ADODB.Command
Dim ll As Integer
Set Cn = Application.CurrentProject.Connection
Cmd.ActiveConnection = Cn
'Cn.Open

Cmd.CommandText = "AddPump"
Cmd.CommandType = adCmdStoredProc
Cmd.CommandTimeout = 9000
Cmd.Parameters.Refresh
Cmd.Parameters("@lcoobject") = 44
Cmd.Parameters("@ddate") = Me.dDateV
Cmd.Execute


End Sub
но она почему то копирует все lcoobject не только равные 44
28 окт 11, 08:42    [11513481]     Ответить | Цитировать Сообщить модератору
 Re: хранимая процедура  [new]
Guf
Member

Откуда: Новосибирск
Сообщений: 659
Наверное, по тому что в вашем запросе нет http://msdn.microsoft.com/ru-ru/library/ms188047.aspx
28 окт 11, 08:47    [11513491]     Ответить | Цитировать Сообщить модератору
 Re: хранимая процедура  [new]
Guf
Member

Откуда: Новосибирск
Сообщений: 659
Guf
Наверное, по тому что в вашем запросе нет http://msdn.microsoft.com/ru-ru/library/ms188047.aspx

Наверное, по тому что в вашем запросе нет Предложение WHERE (Transact-SQL)
28 окт 11, 08:48    [11513495]     Ответить | Цитировать Сообщить модератору
 Re: хранимая процедура  [new]
max2000
Member

Откуда:
Сообщений: 189
Guf,
так я же пытаюсь зделать ХП с параметром.зачем прописывать wherе?
28 окт 11, 08:56    [11513517]     Ответить | Цитировать Сообщить модератору
 Re: хранимая процедура  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
max2000
Guf,
так я же пытаюсь зделать ХП с параметром.зачем прописывать wherе?

Что бы не было вот этого
автор
но она почему то копирует все lcoobject не только равные 44



PS. Cделать
28 окт 11, 09:10    [11513540]     Ответить | Цитировать Сообщить модератору
 Re: хранимая процедура  [new]
Guf
Member

Откуда: Новосибирск
Сообщений: 659
max2000,

ХП - это ХП. Вы можете обявить хоть тысячу параметров, но пока вы не скажите серверу, что конкретно делать с каждым из параметров, сервер ничего с ними телать не будет.
28 окт 11, 09:12    [11513545]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить