Trying to Create a Trigger to let the user insert only 5 times in a day
create or replace trigger trg_check_placement
before insert
on lds_placement
for each row
declare
plt_count number;
begin
select count(*) into plt_count from lds_placement where TO_CHAR(sysdate,'HH24:MI:SS');
if plt_count >5 then
raise_application_error(-20000, 'Sorry! you cannot create more than five placement a day');
end if;
end;
Keep getting the error invalid relational operator at line 4.Is this the correct way of solving this or am i completely wrong ?
sql oracle oracle-apex
add a comment |
create or replace trigger trg_check_placement
before insert
on lds_placement
for each row
declare
plt_count number;
begin
select count(*) into plt_count from lds_placement where TO_CHAR(sysdate,'HH24:MI:SS');
if plt_count >5 then
raise_application_error(-20000, 'Sorry! you cannot create more than five placement a day');
end if;
end;
Keep getting the error invalid relational operator at line 4.Is this the correct way of solving this or am i completely wrong ?
sql oracle oracle-apex
you need to complete your where clause
– romeuBraga
Nov 19 '18 at 16:39
3
where TO_CHAR(sysdate,'HH24:MI:SS');
- incomlete condition -> whereSYSDATE
what ? Equal to something, greater than something ?
– krokodilko
Nov 19 '18 at 16:46
A trigger like this is not going to solve this particular problem (not simply, anyway). I would ask why you need to limit inserts to 5 per day - what is the business purpose behind this requirement. Reframing the requirement in more concrete terms may result in an improved data model that takes care of the business requirement without resorting to trying to implement a cross-row constraint in a trigger.
– Jeffrey Kemp
Nov 26 '18 at 7:24
In other words, what exactly is wrong with a user inserting 6 rows or 7 rows in a particular day? What is special about the 24 hour period? What if the application allowed the inserts but simply ignored the additional rows in processing? There's all sorts of approaches you could take that might simplify things.
– Jeffrey Kemp
Nov 26 '18 at 7:25
add a comment |
create or replace trigger trg_check_placement
before insert
on lds_placement
for each row
declare
plt_count number;
begin
select count(*) into plt_count from lds_placement where TO_CHAR(sysdate,'HH24:MI:SS');
if plt_count >5 then
raise_application_error(-20000, 'Sorry! you cannot create more than five placement a day');
end if;
end;
Keep getting the error invalid relational operator at line 4.Is this the correct way of solving this or am i completely wrong ?
sql oracle oracle-apex
create or replace trigger trg_check_placement
before insert
on lds_placement
for each row
declare
plt_count number;
begin
select count(*) into plt_count from lds_placement where TO_CHAR(sysdate,'HH24:MI:SS');
if plt_count >5 then
raise_application_error(-20000, 'Sorry! you cannot create more than five placement a day');
end if;
end;
Keep getting the error invalid relational operator at line 4.Is this the correct way of solving this or am i completely wrong ?
sql oracle oracle-apex
sql oracle oracle-apex
edited Nov 19 '18 at 16:44
romeuBraga
1,2291215
1,2291215
asked Nov 19 '18 at 16:33
Sagar Regmi
12
12
you need to complete your where clause
– romeuBraga
Nov 19 '18 at 16:39
3
where TO_CHAR(sysdate,'HH24:MI:SS');
- incomlete condition -> whereSYSDATE
what ? Equal to something, greater than something ?
– krokodilko
Nov 19 '18 at 16:46
A trigger like this is not going to solve this particular problem (not simply, anyway). I would ask why you need to limit inserts to 5 per day - what is the business purpose behind this requirement. Reframing the requirement in more concrete terms may result in an improved data model that takes care of the business requirement without resorting to trying to implement a cross-row constraint in a trigger.
– Jeffrey Kemp
Nov 26 '18 at 7:24
In other words, what exactly is wrong with a user inserting 6 rows or 7 rows in a particular day? What is special about the 24 hour period? What if the application allowed the inserts but simply ignored the additional rows in processing? There's all sorts of approaches you could take that might simplify things.
– Jeffrey Kemp
Nov 26 '18 at 7:25
add a comment |
you need to complete your where clause
– romeuBraga
Nov 19 '18 at 16:39
3
where TO_CHAR(sysdate,'HH24:MI:SS');
- incomlete condition -> whereSYSDATE
what ? Equal to something, greater than something ?
– krokodilko
Nov 19 '18 at 16:46
A trigger like this is not going to solve this particular problem (not simply, anyway). I would ask why you need to limit inserts to 5 per day - what is the business purpose behind this requirement. Reframing the requirement in more concrete terms may result in an improved data model that takes care of the business requirement without resorting to trying to implement a cross-row constraint in a trigger.
– Jeffrey Kemp
Nov 26 '18 at 7:24
In other words, what exactly is wrong with a user inserting 6 rows or 7 rows in a particular day? What is special about the 24 hour period? What if the application allowed the inserts but simply ignored the additional rows in processing? There's all sorts of approaches you could take that might simplify things.
– Jeffrey Kemp
Nov 26 '18 at 7:25
you need to complete your where clause
– romeuBraga
Nov 19 '18 at 16:39
you need to complete your where clause
– romeuBraga
Nov 19 '18 at 16:39
3
3
where TO_CHAR(sysdate,'HH24:MI:SS');
- incomlete condition -> where SYSDATE
what ? Equal to something, greater than something ?– krokodilko
Nov 19 '18 at 16:46
where TO_CHAR(sysdate,'HH24:MI:SS');
- incomlete condition -> where SYSDATE
what ? Equal to something, greater than something ?– krokodilko
Nov 19 '18 at 16:46
A trigger like this is not going to solve this particular problem (not simply, anyway). I would ask why you need to limit inserts to 5 per day - what is the business purpose behind this requirement. Reframing the requirement in more concrete terms may result in an improved data model that takes care of the business requirement without resorting to trying to implement a cross-row constraint in a trigger.
– Jeffrey Kemp
Nov 26 '18 at 7:24
A trigger like this is not going to solve this particular problem (not simply, anyway). I would ask why you need to limit inserts to 5 per day - what is the business purpose behind this requirement. Reframing the requirement in more concrete terms may result in an improved data model that takes care of the business requirement without resorting to trying to implement a cross-row constraint in a trigger.
– Jeffrey Kemp
Nov 26 '18 at 7:24
In other words, what exactly is wrong with a user inserting 6 rows or 7 rows in a particular day? What is special about the 24 hour period? What if the application allowed the inserts but simply ignored the additional rows in processing? There's all sorts of approaches you could take that might simplify things.
– Jeffrey Kemp
Nov 26 '18 at 7:25
In other words, what exactly is wrong with a user inserting 6 rows or 7 rows in a particular day? What is special about the 24 hour period? What if the application allowed the inserts but simply ignored the additional rows in processing? There's all sorts of approaches you could take that might simplify things.
– Jeffrey Kemp
Nov 26 '18 at 7:25
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53379007%2ftrying-to-create-a-trigger-to-let-the-user-insert-only-5-times-in-a-day%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53379007%2ftrying-to-create-a-trigger-to-let-the-user-insert-only-5-times-in-a-day%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
you need to complete your where clause
– romeuBraga
Nov 19 '18 at 16:39
3
where TO_CHAR(sysdate,'HH24:MI:SS');
- incomlete condition -> whereSYSDATE
what ? Equal to something, greater than something ?– krokodilko
Nov 19 '18 at 16:46
A trigger like this is not going to solve this particular problem (not simply, anyway). I would ask why you need to limit inserts to 5 per day - what is the business purpose behind this requirement. Reframing the requirement in more concrete terms may result in an improved data model that takes care of the business requirement without resorting to trying to implement a cross-row constraint in a trigger.
– Jeffrey Kemp
Nov 26 '18 at 7:24
In other words, what exactly is wrong with a user inserting 6 rows or 7 rows in a particular day? What is special about the 24 hour period? What if the application allowed the inserts but simply ignored the additional rows in processing? There's all sorts of approaches you could take that might simplify things.
– Jeffrey Kemp
Nov 26 '18 at 7:25