Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6935035
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T12:02:55+00:00 2026-05-27T12:02:55+00:00

I have a weird problem with a trigger in HSQLDB. I’ve checked the syntax

  • 0

I have a weird problem with a trigger in HSQLDB. I’ve checked the syntax several times but I haven’t found any mistakes. I now think that it may be impossible to create a subquery inside a trigger.

This is the code:

create trigger activate_member after update on member
        REFERENCING OLD AS old NEW AS new
        for each row
        begin atomic
                IF new.active = FALSE AND old.active = TRUE then
                        insert into member_inactive
                            (
                                member,
                                since,
                                until
                        )
                        values (
                                new.id,
                                (select since from member_active where
member = new.id AND since = (select max(since) from member_active where
member = new.id group by member)),
                                curdate()
                        );
                ELSEIF new.active = TRUE AND old.active = FALSE then
                        insert into member_active (member, since) values
(new.id, curdate());
                end if;
        end;

I think I’ve made everything correct: I have semicolons on every query inside the IF and ELSIEF statements, and trailing semicolon after end if.

But I still get this error message:

SEVERE  SQL Error at 'database.sql' line 125:
"create trigger activate_member after update on member
        REFERENCING OLD AS old NEW AS new
        for each row 
        begin atomic
                IF new.active = FALSE AND old.active = TRUE then
                        insert into member_inactive 
                        (
                                member, 
                                since, 
                                until
                        ) 
                        values (
                                new.id, 
                                (select since from member_active where member = new.id AND since = (select max(since) from member_active where member = new.id group by member)), 
                                curdate()
                        )"
unexpected end of statement:  required: ; : line: 17
org.hsqldb.cmdline.SqlTool$SqlToolException

But where I should add a semicolon? I think the problem is the subquery inside the insert, but that makes no sense.

Probably the begin atomic is problematic. But I see no other way to have an if-else statement inside a trigger without it!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T12:02:56+00:00Added an answer on May 27, 2026 at 12:02 pm

    i found now whats caused this problem: hsqldb only has begin atomic blocks inside a trigger.
    Inside a begin atomic block i cannot use insert statements…

    i now changed it to two triggers with where (statement) clauses, this works also

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a weird problem I can't solve and can't find any solution to
This is kind of a weird problem, but I have to create a search
i have a weird problem. i would like to delete an assembly(plugin.dll on harddisk)
I have a weird problem with images in visual web developer, I cant change
I have a weird problem where after setting nocheck on a foreign constraint and
I have this weird problem with setting up cookies with PHP. Everything worked fine
I have a weird problem that i can't figure out a solution for: I've
I have a weird problem, and I don't know if this is the default
Hey guys, I have a weird problem. I have an update system that refreshes
We have a weird intermittent problem with saving from Word 2007 to our SharePoint

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.