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

Откуда:
Сообщений: 1427
Если не в тот топик - прошу прощения...

Есть таблица (привожу в сокращенном варианте)
CREATE TABLE [T_NAKL] (
[N_NAKL] [int] IDENTITY (1, 1) NOT NULL ,--PRIMARY KEY
[NAKL] [int] NOT NULL ,
[DATA] [datetime] NOT NULL ,
[N_POST_GRUZOOTPR] [int] NOT NULL ,
[N_POKUP_PLAT_GRUZPOLUCH] [int] NOT NULL ,
[N_MANAGER] [int] NOT NULL ,
[DATA_YEAR] AS (convert(varchar(4),[DATA],112)),
CONSTRAINT [aaaaaT_NAKL_PK] PRIMARY KEY NONCLUSTERED
([N_NAKL]
) WITH FILLFACTOR = 90 ON [PRIMARY] ,
------------------и т.п..
CREATE UNIQUE INDEX UNQ_T_NAKL on T_NAKL(NAKL,DATA_YEAR)
GO

Есть несложная процедура:

CREATE PROCEDURE DBO.T_NAKL_INS
(
@N_POST_GRUZOOTPR INTEGER,
@N_POKUP_PLAT_GRUZPOLUCH INTEGER,
@N_MANAGER INTEGER
)
AS
declare @i INTEGER
Select @i = (select MAX(NAKL) from T_NAKL where (DATEPART(YEAR,DATA)=DATEPART(YEAR,GETDATE())) and (DATA>='20050201') )

if (@i is NULL)
begin
select @i = 0 ;
end
INSERT INTO T_NAKL (NAKL,DATA,N_POST_GRUZOOTPR,N_POKUP_PLAT_GRUZPOLUCH,N_MANAGER)
VALUES ((@i+1), CONVERT(varchar(8),GETDATE(),112), @N_POST_GRUZOOTPR, @N_POKUP_PLAT_GRUZPOLUCH, @N_MANAGER);
GO

Первый результат запроса из таблицы:
select * from T_NAKL where DATA>'20050131'
--- ------------------------------------------------------ ---------
(0 row(s) affected)


Выполняю процедуру из Query Analyzer:
DECLARE @RC int
DECLARE @N_POST_GRUZOOTPR int
DECLARE @N_POKUP_PLAT_GRUZPOLUCH int
DECLARE @N_MANAGER int

-- Set parameter values
EXEC @RC = [pnkSQL_Tren].[dbo].[T_NAKL_INS] 2, 1, 2
------------------------------------------
(1 row(s) affected)

Второй результат запроса из таблицы:
select * from T_NAKL where DATA>'20050131'
--- ------------------------------------------------------ ---------
N_NAKL NAKL DATA N_POST_GRUZOOTPR N_POKUP_PLAT_GRUZPOLUCH N_MANAGER DATA_YEAR
2697 1 2005-02-01 00:00:00.000 2 1 2 NULL
(1 row(s) affected)

Пишу процедуру на Delphi

with ADOStoredProc1 do
begin
Parameters.Refresh;
Parameters.ParamByName('@N_POST_GRUZOOTPR').Value:=2;
Parameters.ParamByName('@N_POKUP_PLAT_GRUZPOLUCH').Value:=1 ;
Parameters.ParamByName('@N_MANAGER').Value:=2;
ExecProc;
end;

выдает ошибку: (insert faild because the following SET options have incorrect settings: 'ARITHABORT')

Если удалю INDEX UNQ_T_NAKL - то все проходит...

К сообщению приложен файл. Размер - 0Kb
30 янв 05, 20:39    [1285616]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму повторно...  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Юзайте поиск.
30 янв 05, 20:51    [1285634]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму повторно...  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Не плодите топики. https://www.sql.ru/forum/actualthread.aspx?tid=155997
31 янв 05, 06:45    [1285908]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить