Sample Header Ad - 728x90

Trigger creation for Sybase SQLAnywhere 16

1 vote
1 answer
239 views
I've been having the hardest time trying to create a trigger for a Sybase SAP SQLAnywhere 16 database following these docs. Currently it's -131 syntax erroring on line 15/16 (the update statement), but I don't see any error in the syntax. What am I doing wrong here? create trigger "DBA"."WKM_autoFillCL143" after insert order 2 on "DBA"."case_checklist" when ((select top 1 "inserted"."code" from "inserted") in( '143' ) ) begin declare @parentRef integer; declare @desc varchar(255); declare @desc1 varchar(255); declare @checkID integer; set @parentRef = (select top 1 "parent_ref" from "inserted"); if (@parentRef '0') then set @desc = (select "description" from "case_checklist" where "checklist_id" = @parentRef); if (@desc is not null) then set @checkID = (select top 1 "checklist_id" from "inserted"); update "WKM_RecordChecklistMapping" set "c143" = @checkID where "c142" = @parentRef; declare @tabid integer; set @tabid = (select top 1 "tab_id" from "WKM_recordChecklistMapping" where "c142" = @parentRef); set @tabid = (select top 1 "tab_id" from "user_tab2_data" where "tab_id" = @tabid); if (@tabid is not null) then declare @recProvider varchar(255),@recsRequested varchar(255),@dateFrom "datetime",@dateTo "datetime" set @recProvider = (select top 1 "Provider_Name" from "user_tab2_data" where "tab_id" = @tabid); set @recsRequested = (select top 1 "Records_Requested" from "user_tab2_data" where "tab_id" = @tabid); set @dateFrom = (select top 1 "For_Dates_From" from "user_tab2_data" where "tab_id" = @tabid); set @dateTo = (select top 1 "Through" from "user_tab2_data" where "tab_id" = @tabid); set @desc1 = 'Receipt '+@recProvider+' Records? '+@recsRequested+', dates '+"coalesce"(convert(varchar(255),@dateFrom,1),'00/00/00')+' to '+"coalesce"(convert(varchar(255),@dateTo,1),'00/00/00'); set @checkID = (select top 1 "checklist_id" from "inserted"); update "case_checklist" set "description" = @desc1,"staff_assigned" = 'ZKS',"due_date" = ("today"()+7) where "checklist_id" = @checkID end if; end if; end if; end;
Asked by boog (153 rep)
Feb 15, 2021, 08:49 PM
Last activity: Feb 16, 2021, 08:42 PM