PL/SQL: Exclamation Mark in ORACLE
What are those exclamation(!) marks in the following query?
l_sql := q'!
SELECT CASE WHEN FILTER_CNT = 0 THEN NULL ELSE FILTER_LIST END AS FILTER_LIST
FROM
(
SELECT 'TABLE_NAME NOT LIKE ' || LISTAGG(''''||EXCLUSION_CRITERIA||'''', ' AND TABLE_NAME NOT LIKE ') WITHIN GROUP (ORDER BY ROWNUM) AS FILTER_LIST, COUNT(*) AS FILTER_CNT
FROM !'|| p_after_owner ||q'!.UT_TABLE_EXCLUSION
WHERE EXCLUSION_TYPE = 'P'
)
!';
oracle plsql dynamic-sql
add a comment |
What are those exclamation(!) marks in the following query?
l_sql := q'!
SELECT CASE WHEN FILTER_CNT = 0 THEN NULL ELSE FILTER_LIST END AS FILTER_LIST
FROM
(
SELECT 'TABLE_NAME NOT LIKE ' || LISTAGG(''''||EXCLUSION_CRITERIA||'''', ' AND TABLE_NAME NOT LIKE ') WITHIN GROUP (ORDER BY ROWNUM) AS FILTER_LIST, COUNT(*) AS FILTER_CNT
FROM !'|| p_after_owner ||q'!.UT_TABLE_EXCLUSION
WHERE EXCLUSION_TYPE = 'P'
)
!';
oracle plsql dynamic-sql
add a comment |
What are those exclamation(!) marks in the following query?
l_sql := q'!
SELECT CASE WHEN FILTER_CNT = 0 THEN NULL ELSE FILTER_LIST END AS FILTER_LIST
FROM
(
SELECT 'TABLE_NAME NOT LIKE ' || LISTAGG(''''||EXCLUSION_CRITERIA||'''', ' AND TABLE_NAME NOT LIKE ') WITHIN GROUP (ORDER BY ROWNUM) AS FILTER_LIST, COUNT(*) AS FILTER_CNT
FROM !'|| p_after_owner ||q'!.UT_TABLE_EXCLUSION
WHERE EXCLUSION_TYPE = 'P'
)
!';
oracle plsql dynamic-sql
What are those exclamation(!) marks in the following query?
l_sql := q'!
SELECT CASE WHEN FILTER_CNT = 0 THEN NULL ELSE FILTER_LIST END AS FILTER_LIST
FROM
(
SELECT 'TABLE_NAME NOT LIKE ' || LISTAGG(''''||EXCLUSION_CRITERIA||'''', ' AND TABLE_NAME NOT LIKE ') WITHIN GROUP (ORDER BY ROWNUM) AS FILTER_LIST, COUNT(*) AS FILTER_CNT
FROM !'|| p_after_owner ||q'!.UT_TABLE_EXCLUSION
WHERE EXCLUSION_TYPE = 'P'
)
!';
oracle plsql dynamic-sql
oracle plsql dynamic-sql
asked Nov 20 '18 at 11:43
Success Shrestha
1428
1428
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The q
method of quoting strings means that you don't have to escape single quotes in the string.
As per the documentation, it works like this:
q'<single character delimiter><text><single character delimiter>'
Therefore, the !
s in your sample string are acting as the quote delimiter.
For example, if you want to use the string Don't worry, be happy
, in the old style quoting, that would become:
'Don''t worry, be happy'
but the new quoting mechanism would be:
q'!Don't worry, be happy!'
or
q'{Don't worry, be happy}'
etc.
add a comment |
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%2f53392289%2fpl-sql-exclamation-mark-in-oracle%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The q
method of quoting strings means that you don't have to escape single quotes in the string.
As per the documentation, it works like this:
q'<single character delimiter><text><single character delimiter>'
Therefore, the !
s in your sample string are acting as the quote delimiter.
For example, if you want to use the string Don't worry, be happy
, in the old style quoting, that would become:
'Don''t worry, be happy'
but the new quoting mechanism would be:
q'!Don't worry, be happy!'
or
q'{Don't worry, be happy}'
etc.
add a comment |
The q
method of quoting strings means that you don't have to escape single quotes in the string.
As per the documentation, it works like this:
q'<single character delimiter><text><single character delimiter>'
Therefore, the !
s in your sample string are acting as the quote delimiter.
For example, if you want to use the string Don't worry, be happy
, in the old style quoting, that would become:
'Don''t worry, be happy'
but the new quoting mechanism would be:
q'!Don't worry, be happy!'
or
q'{Don't worry, be happy}'
etc.
add a comment |
The q
method of quoting strings means that you don't have to escape single quotes in the string.
As per the documentation, it works like this:
q'<single character delimiter><text><single character delimiter>'
Therefore, the !
s in your sample string are acting as the quote delimiter.
For example, if you want to use the string Don't worry, be happy
, in the old style quoting, that would become:
'Don''t worry, be happy'
but the new quoting mechanism would be:
q'!Don't worry, be happy!'
or
q'{Don't worry, be happy}'
etc.
The q
method of quoting strings means that you don't have to escape single quotes in the string.
As per the documentation, it works like this:
q'<single character delimiter><text><single character delimiter>'
Therefore, the !
s in your sample string are acting as the quote delimiter.
For example, if you want to use the string Don't worry, be happy
, in the old style quoting, that would become:
'Don''t worry, be happy'
but the new quoting mechanism would be:
q'!Don't worry, be happy!'
or
q'{Don't worry, be happy}'
etc.
edited Nov 20 '18 at 12:19
answered Nov 20 '18 at 12:12
Boneist
17.9k11028
17.9k11028
add a comment |
add a comment |
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%2f53392289%2fpl-sql-exclamation-mark-in-oracle%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