Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Merge / 14 сообщений из 14, страница 1 из 1
05.07.2006, 18:15
    #33833834
SvetaSh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
я буду очень благодарна, если кто-то может помочь.
Есть Stored Procedure
Когда пытаюць Execure, получаю такой error message:
Database C0038: Line 1: Incorrect syntas near '0'.

Long ls_oid_to_delete, ls_oid_to_keep, to_item_oid, from_item_oid
int to_aircraft_oid, to_city_oid, to_status_oid

ls_oid_to_keep = long(sle_1.text)
ls_oid_to_delete = long(sle_2.text)

to_city_oid = dw_1.getItemNumber(1, 'city_oid')
to_aircraft_oid = dw_2.getItemNumber(1, 'aircraft_oid')
to_status_oid = dw_3.getItemNumber(1, 'status_oid')

DECLARE test_inventory_merge procedure for sp_inventory_merge(:ls_oid_to_keep, :ls_oid_to_delete, :to_aircraft_oid, :to_status_oid, :to_city_oid) using SQLCA;

EXECUTE test_inventory_merge;
IF ( SQLCA.SQLCode <> 0 ) &
and ( SQLCA.SQLCode <> 100 ) THEN
MessageBox ( "Error", "EXECUTE failed" )
RETURN
END IF

MessageBox("Merge","Merge is Complete. Database has been updated.")
Close(w_inventory_merge)
...
Рейтинг: 0 / 0
05.07.2006, 18:17
    #33833842
SvetaSh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
ещё вот что...
Переменные декларированные как Long. ( в Window Script).
В Stored Procedure oни декларированы как инт.

это даст мне еrror наверное тоже?
...
Рейтинг: 0 / 0
05.07.2006, 18:21
    #33833855
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
Какой сервер? Процедура отдельно работает?
...
Рейтинг: 0 / 0
05.07.2006, 18:25
    #33833871
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
В какой момент ошибка, что в SQLCA.SQLErrText?
Почему не используется @Param1=Value1, @Param2=Value2,...?
Ошибка только в этой процедуре или в любой?
...
Рейтинг: 0 / 0
05.07.2006, 18:30
    #33833893
SvetaSh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
SQL Server 2000

Procedure rabotaet otdel'no
...
Рейтинг: 0 / 0
05.07.2006, 18:32
    #33833898
SvetaSh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
EstetsВ какой момент ошибка, что в SQLCA.SQLErrText?
Почему не используется @Param1=Value1, @Param2=Value2,...?
Ошибка только в этой процедуре или в любой?

???
...
Рейтинг: 0 / 0
05.07.2006, 18:43
    #33833919
SvetaSh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
Pomeniala code na....

ls_oid_to_keep = long(sle_1.text)
ls_oid_to_delete = long(sle_2.text)

to_city_oid = dw_1.getItemNumber(1, 'city_oid')
to_aircraft_oid = dw_2.getItemNumber(1, 'aircraft_oid')
to_status_oid = dw_3.getItemNumber(1, 'status_oid')

DECLARE Merge_Inventory PROCEDURE FOR sp_Inventory_Merge
ls_oid_to_keep = :ls_oid_to_keep,
ls_oid_to_delete = :ls_oid_to_delete,
Aircraft_oid = :to_aircraft_oid,
Status_oid = :to_status_oid,
City_oid = :to_city_oid ;


Execute Merge_Inventory();


Error:

Database C0038: Line 1: Incorrect syntax near "=".
Warning C0014: Undefined variable: merge_inventory
Error Syntax Error
...
Рейтинг: 0 / 0
05.07.2006, 20:21
    #33834076
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
DECLARE Merge_Inventory PROCEDURE FOR sp_Inventory_Merge
ls_oid_to_keep = :ls_oid_to_keep,
ls_oid_to_delete = :ls_oid_to_delete,
Aircraft_oid = :to_aircraft_oid,
Status_oid = :to_status_oid,
City_oid = :to_city_oid ;


Execute Merge_Inventory;



и покажите код процедуры
...
Рейтинг: 0 / 0
05.07.2006, 21:41
    #33834146
SvetaSh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
REATE procedure dbo.sp_Inventory_Merge
@ls_oid_to_keep int,
@ls_oid_to_delete int,
@Aircraft_oid int,
@Status_oid int,
@City_oid int as


Declare @from_item_oid int,
@to_item_oid int,
@from_sn char(30),
@to_sn char(30),
@move_date Datetime


Select @from_sn = (Select Serial_Number from rotable_inventory where rotable_inventory.oid = @ls_oid_to_delete)
Select @to_sn = (Select Serial_Number from rotable_inventory where rotable_inventory.oid = @ls_oid_to_keep)
Select @from_item_oid = (Select Item_oid from rotable_inventory, item_master where rotable_inventory.item_oid = item_master.oid and rotable_inventory.oid = @ls_oid_to_delete)
Select @from_item_oid = (Select Item_oid from rotable_inventory, item_master where rotable_inventory.item_oid = item_master.oid and rotable_inventory.oid = @ls_oid_to_keep)

Select @move_date = (Select Max(inv_move_date) from inv_move_log where inv_oid = @ls_oid_to_keep)

update inv_move_log
set inv_oid = @ls_oid_to_keep,
upd_timestamp = getdate()
where inv_oid = @ls_oid_to_delete

update work_order_data
set inv_oid = @ls_oid_to_keep,
upd_timestamp = getdate()
where inv_oid = @ls_oid_to_delete

update wo_inv_action
set inv_oid = @ls_oid_to_keep,
upd_timestamp = getdate()
where inv_oid = @ls_oid_to_delete

update mc_rotable
set inv_oid = @ls_oid_to_keep,
upd_timestamp = getdate()
where inv_oid = @ls_oid_to_delete

update purchase_order_data
set inv_oid = @ls_oid_to_keep,
upd_timestamp = getdate()
where inv_oid = @ls_oid_to_delete

update rotable_inventory
set status_oid = 2428,
upd_timestamp = getdate()
where oid = @ls_oid_to_delete

delete from rotable_inventory where oid = @ls_oid_to_delete

Insert into Inv_Move_log (inv_oid, create_Date, To_on_aircraft_oid, To_city_oid, To_inv_status_oid, inv_move_date, From_serial_no, To_serial_no, From_Item_oid, To_item_oid, upd_timestamp)
Values(@ls_oid_to_keep, getutcdate(), @aircraft_oid, @city_oid, @status_oid, @move_date, @from_sn, @to_sn, @from_item_oid, @to_item_oid, getutcdate())
GO
...
Рейтинг: 0 / 0
06.07.2006, 00:02
    #33834293
edmikeca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
Если я ничего не путаю, то declaration должно быть следующим образом:

DECLARE Merge_Inventory PROCEDURE FOR sp_Inventory_Merge
@ls_oid_to_keep = :ls_oid_to_keep,
@ls_oid_to_delete = :ls_oid_to_delete,
@Aircraft_oid = :to_aircraft_oid,
@Status_oid = :to_status_oid,
@City_oid = :to_city_oid ;
...
Рейтинг: 0 / 0
06.07.2006, 15:58
    #33836095
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
edmikecaЕсли я ничего не путаю, то declaration должно быть следующим образом:

DECLARE Merge_Inventory PROCEDURE FOR sp_Inventory_Merge
@ls_oid_to_keep = :ls_oid_to_keep,
@ls_oid_to_delete = :ls_oid_to_delete,
@Aircraft_oid = :to_aircraft_oid,
@Status_oid = :to_status_oid,
@City_oid = :to_city_oid ;

Так должно работать, а если нет, то надо запустить Profiler из комплекта MS SQL и смотреть на то что же действительно передается на сервер.
...
Рейтинг: 0 / 0
06.07.2006, 16:57
    #33836372
SvetaSh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
Rabotaet.

Spasibo bol'shoe vsem za pomosch.

Esche Vopros...
Kak sozdat' executable file (.exe) iz .pbl?
...
Рейтинг: 0 / 0
06.07.2006, 17:02
    #33836392
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
SvetaSh wrote:

> Kak sozdat' executable file (.exe) iz .pbl?

По-моему, над нами издеваются...
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
06.07.2006, 17:24
    #33836457
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge
Dim2000По-моему, над нами издеваются...
+1

меню Run > Deploy

если ничего не происходит - создаем project

File > New > Project > Application
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Merge / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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