Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Хранимая процедура не стартует / 5 сообщений из 5, страница 1 из 1
22.05.2019, 11:08
    #39816270
Hanuman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура не стартует
Коллеги, я уже всю голову сломал....
собственно хранимая процедура:
Код: 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.
ALTER PROCEDURE [dbo].[AddPlains]

@plain_Date DATE,
@toj_ID int,
@stat_ID int,
@area_ID int,
@tl_ID int,
@nl_ID int,
@plain_time_begin TIME(0),
@plain_time_end TIME(0),
@plain_time_spend int,
@plain_dt_begin int,
@plain_dt_end int,
@plain_dt_norm int,
@plain_dt_fact int,
@plain_economy int,
@driver_ID int,
@plain_dt_equipment int,
@plain_smena int,
@bort bit,
@plain_hp bit,
@tojn_ID int
AS
INSERT INTO dbo.Plains(PlainsDate,statID,areaID,tlID,nlID,PlainsTimeSpend,
PlainsDtBegin,PlainsDtEnd,PlainsDtEquipment,PlainsDtNorm,PlainsDtFact,PlainsEconomy,driverID,
PlainsSmena,bort,PlainsHp,tojnID,PlainsTimeBegin,PlainsTimeEnd)
--Переменные которые необходимо вставить в таблицу--
VALUES
(@plain_Date,@stat_ID,@area_ID,@tl_ID,@nl_ID,@plain_time_spend,@plain_dt_begin,
@plain_dt_end,@plain_dt_equipment,@plain_dt_norm,@plain_dt_fact,@plain_economy,@driver_ID,@plain_smena,@bort,@plain_hp,@tojn_ID,@plain_time_begin,@plain_time_end)



Сделал запрос для проверки этой процедуры:
Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
DECLARE 
@plain_Date DATE,
@toj_ID int,
@stat_ID int,
@area_ID int,
@tl_ID int,
@nl_ID int,
@plain_time_begin TIME(0),
@plain_time_end TIME(0),
@plain_time_spend int,
@plain_dt_begin int,
@plain_dt_end int,
@plain_dt_norm int,
@plain_dt_fact int,
@plain_economy int,
@driver_ID int,
@plain_dt_equipment int,
@plain_smena int,
@bort bit,
@plain_hp bit,
@tojn_ID int

Set @plain_Date=CONVERT(date, '20110101', 21)
Set @stat_ID =1
Set @area_ID =1
Set @tl_ID =1
Set @nl_ID =1
Set @plain_time_begin ='20:38'
Set @plain_time_end ='1:45'
Set @plain_time_spend =58
Set @plain_dt_begin =4000
Set @plain_dt_end =3960
Set @plain_dt_norm =10
Set @plain_dt_fact = 20
Set @plain_economy = 10
Set @plain_dt_equipment=3000
Set @driver_ID =1
Set @plain_smena =1
Set @bort=0
Set @plain_hp=0
Set @tojn_ID=2

EXEC dbo.AddPlains @plain_Date,@stat_ID,@area_ID,@tl_ID,@nl_ID,@plain_time_begin,@plain_time_end,@plain_time_spend,
@plain_dt_equipment,@plain_dt_norm,@plain_dt_fact,@plain_economy,@driver_ID,@plain_smena,@bort,@plain_hp,@tojn_ID,@plain_time_begin,@plain_time_end

SELECT * FROM Plains



И тут ошибка:

сообщение: 206, уровень: 16, состояние: 2, процедура: AddPlains, строка: 0 [строка начала пакета: 0]
Конфликт типов операндов: time несовместим с int


Если сделать запрос без хранимой процедуры:
Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
DECLARE 
@plain_Date DATE,
@toj_ID int,
@stat_ID int,
@area_ID int,
@tl_ID int,
@nl_ID int,
@plain_time_begin TIME(0),
@plain_time_end TIME(0),
@plain_time_spend int,
@plain_dt_begin int,
@plain_dt_end int,
@plain_dt_norm int,
@plain_dt_fact int,
@plain_economy int,
@driver_ID int,
@plain_dt_equipment int,
@plain_smena int,
@bort bit,
@plain_hp bit,
@tojn_ID int

Set @plain_Date=CONVERT(date, '20110101', 21)
Set @stat_ID =1
Set @area_ID =1
Set @tl_ID =1
Set @nl_ID =1
Set @plain_time_begin ='20:38'
Set @plain_time_end ='1:45'
Set @plain_time_spend =58
Set @plain_dt_begin =4000
Set @plain_dt_end =3960
Set @plain_dt_norm =10
Set @plain_dt_fact = 20
Set @plain_economy = 10
Set @plain_dt_equipment=3000
Set @driver_ID =1
Set @plain_smena =1
Set @bort=0
Set @plain_hp=0
Set @tojn_ID=2

INSERT INTO dbo.Plains(PlainsDate,statID,areaID,tlID,nlID,PlainsTimeSpend,
PlainsDtBegin,PlainsDtEnd,PlainsDtEquipment,PlainsDtNorm,PlainsDtFact,PlainsEconomy,driverID,
PlainsSmena,bort,PlainsHp,tojnID,PlainsTimeBegin,PlainsTimeEnd)
--Переменные которые необходимо вставить в таблицу--
VALUES
(@plain_Date,@stat_ID,@area_ID,@tl_ID,@nl_ID,@plain_time_spend,@plain_dt_begin,
@plain_dt_end,@plain_dt_equipment,@plain_dt_norm,@plain_dt_fact,@plain_economy,@driver_ID,@plain_smena,@bort,@plain_hp,@tojn_ID,@plain_time_begin,@plain_time_end)
SELECT * FROM Plains


Все работает

Почему при вызове этой процедуры, вылазит ошибка? :(
...
Рейтинг: 0 / 0
22.05.2019, 11:11
    #39816272
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура не стартует
HanumanКоллеги, я уже всю голову сломал....
собственно хранимая процедура:
Код: 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.
ALTER PROCEDURE [dbo].[AddPlains]

@plain_Date DATE,
@toj_ID int,
@stat_ID int,
@area_ID int,
@tl_ID int,
@nl_ID int,
@plain_time_begin TIME(0),
@plain_time_end TIME(0),
@plain_time_spend int,
@plain_dt_begin int,
@plain_dt_end int,
@plain_dt_norm int,
@plain_dt_fact int,
@plain_economy int,
@driver_ID int,
@plain_dt_equipment int,
@plain_smena int,
@bort bit,
@plain_hp bit,
@tojn_ID int
AS
INSERT INTO dbo.Plains(PlainsDate,statID,areaID,tlID,nlID,PlainsTimeSpend,
PlainsDtBegin,PlainsDtEnd,PlainsDtEquipment,PlainsDtNorm,PlainsDtFact,PlainsEconomy,driverID,
PlainsSmena,bort,PlainsHp,tojnID,PlainsTimeBegin,PlainsTimeEnd)
--Переменные которые необходимо вставить в таблицу--
VALUES
(@plain_Date,@stat_ID,@area_ID,@tl_ID,@nl_ID,@plain_time_spend,@plain_dt_begin,
@plain_dt_end,@plain_dt_equipment,@plain_dt_norm,@plain_dt_fact,@plain_economy,@driver_ID,@plain_smena,@bort,@plain_hp,@tojn_ID,@plain_time_begin,@plain_time_end)




Сделал запрос для проверки этой процедуры:
Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
DECLARE 
@plain_Date DATE,
@toj_ID int,
@stat_ID int,
@area_ID int,
@tl_ID int,
@nl_ID int,
@plain_time_begin TIME(0),
@plain_time_end TIME(0),
@plain_time_spend int,
@plain_dt_begin int,
@plain_dt_end int,
@plain_dt_norm int,
@plain_dt_fact int,
@plain_economy int,
@driver_ID int,
@plain_dt_equipment int,
@plain_smena int,
@bort bit,
@plain_hp bit,
@tojn_ID int

Set @plain_Date=CONVERT(date, '20110101', 21)
Set @stat_ID =1
Set @area_ID =1
Set @tl_ID =1
Set @nl_ID =1
Set @plain_time_begin ='20:38'
Set @plain_time_end ='1:45'
Set @plain_time_spend =58
Set @plain_dt_begin =4000
Set @plain_dt_end =3960
Set @plain_dt_norm =10
Set @plain_dt_fact = 20
Set @plain_economy = 10
Set @plain_dt_equipment=3000
Set @driver_ID =1
Set @plain_smena =1
Set @bort=0
Set @plain_hp=0
Set @tojn_ID=2

EXEC dbo.AddPlains @plain_Date,@stat_ID,@area_ID,@tl_ID,@nl_ID,@plain_time_begin,@plain_time_end,@plain_time_spend,
@plain_dt_equipment,@plain_dt_norm,@plain_dt_fact,@plain_economy,@driver_ID,@plain_smena,@bort,@plain_hp,@tojn_ID,@plain_time_begin,@plain_time_end

SELECT * FROM Plains




И тут ошибка:

сообщение: 206, уровень: 16, состояние: 2, процедура: AddPlains, строка: 0 [строка начала пакета: 0]
Конфликт типов операндов: time несовместим с int


Если сделать запрос без хранимой процедуры:
Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
DECLARE 
@plain_Date DATE,
@toj_ID int,
@stat_ID int,
@area_ID int,
@tl_ID int,
@nl_ID int,
@plain_time_begin TIME(0),
@plain_time_end TIME(0),
@plain_time_spend int,
@plain_dt_begin int,
@plain_dt_end int,
@plain_dt_norm int,
@plain_dt_fact int,
@plain_economy int,
@driver_ID int,
@plain_dt_equipment int,
@plain_smena int,
@bort bit,
@plain_hp bit,
@tojn_ID int

Set @plain_Date=CONVERT(date, '20110101', 21)
Set @stat_ID =1
Set @area_ID =1
Set @tl_ID =1
Set @nl_ID =1
Set @plain_time_begin ='20:38'
Set @plain_time_end ='1:45'
Set @plain_time_spend =58
Set @plain_dt_begin =4000
Set @plain_dt_end =3960
Set @plain_dt_norm =10
Set @plain_dt_fact = 20
Set @plain_economy = 10
Set @plain_dt_equipment=3000
Set @driver_ID =1
Set @plain_smena =1
Set @bort=0
Set @plain_hp=0
Set @tojn_ID=2

INSERT INTO dbo.Plains(PlainsDate,statID,areaID,tlID,nlID,PlainsTimeSpend,
PlainsDtBegin,PlainsDtEnd,PlainsDtEquipment,PlainsDtNorm,PlainsDtFact,PlainsEconomy,driverID,
PlainsSmena,bort,PlainsHp,tojnID,PlainsTimeBegin,PlainsTimeEnd)
--Переменные которые необходимо вставить в таблицу--
VALUES
(@plain_Date,@stat_ID,@area_ID,@tl_ID,@nl_ID,@plain_time_spend,@plain_dt_begin,
@plain_dt_end,@plain_dt_equipment,@plain_dt_norm,@plain_dt_fact,@plain_economy,@driver_ID,@plain_smena,@bort,@plain_hp,@tojn_ID,@plain_time_begin,@plain_time_end)
SELECT * FROM Plains



Все работает

Почему при вызове этой процедуры, вылазит ошибка? :(

потому что надо быть внимательнее. или пользоваться исключительно формой @param_name = @param_val при вызове.
toj_ID потеряли.
вызывайте
...
Рейтинг: 0 / 0
22.05.2019, 11:19
    #39816275
Hanuman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура не стартует
Посетитель,
toj_ID - это вообще лишний параметр :) убрал его, ошибка не исчезла.
...
Рейтинг: 0 / 0
22.05.2019, 11:25
    #39816282
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура не стартует
HanumanПосетитель,
toj_ID - это вообще лишний параметр :) убрал его, ошибка не исчезла.

дичь какая-то
с какого перепугу последние 2 поля @plain_time_begin,@plain_time_end
Код: sql
1.
2.
EXEC dbo.AddPlains @plain_Date,@stat_ID,@area_ID,@tl_ID,@nl_ID,@plain_time_begin,@plain_time_end,@plain_time_spend,
@plain_dt_equipment,@plain_dt_norm,@plain_dt_fact,@plain_economy,@driver_ID,@plain_smena,@bort,@plain_hp,@tojn_ID,@plain_time_begin,@plain_time_end



пишите как говорят @param_name = @param_val
...
Рейтинг: 0 / 0
22.05.2019, 11:30
    #39816288
Hanuman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура не стартует
TaPaK,
Разобрался :) отсортировал все поля, и все заработало :)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Хранимая процедура не стартует / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]