Replace a string single quote(') with underscore(_)
I have more than 100 tables in a schema.
I have to find out if a string has a single quote in the column and replace it with an underscore.
I have 2 columns CREATE_USER and UPDATE_USER in all the tables. Now i want to update the values if the string has a single quote in it.
I tried it with execute immediate but it is not allowing underscore in the statement.
DECLARE
v_table_name VARCHAR2 (30);
v_column_name VARCHAR2 (30);
CURSOR c_name
IS
SELECT DISTINCT table_name, column_name
FROM user_tab_cols
WHERE column_name IN ('LOGIN', 'CREATE_USER', 'UPDATE_USER')
AND table_name NOT LIKE '%JN';
BEGIN
FOR rec IN c_name
LOOP
v_table_name := rec.table_name;
v_column_name := rec.column_name;
EXECUTE IMMEDIATE 'update '
|| v_table_name
|| ' set '
|| v_column_name
|| ' = REPLACE('
|| v_column_name
|| ','''',"_") where '
|| v_column_name
|| ' like "%''%"';
END LOOP;
END;
/i am getting the below error:
ORA-00904: "%'%": invalid identifier
ORA-06512: at line 17Can anyone let me know what is the error in the statement and how to overcome it
please try to replace your execute immediate with:
EXECUTE IMMEDIATE 'update '
|| v_table_name
|| ' set '
|| v_column_name
|| ' = REPLACE('
|| v_column_name
|| ','''''''',''_'') where '
|| v_column_name
|| ' like ''%''''%''';You can check the statement when you take a look at the construction before like this:
declare
v_sql varchar2(1000);
begin
v_sql:= 'update '
|| v_table_name
|| ' set '
|| v_column_name
|| ' = REPLACE('
|| v_column_name
|| ','''''''',''_'') where '
|| v_column_name
|| ' like ''%''''%''';
dbms_output.put_line(v_sql);
execute immediate v_sql;
...Edited by: hm on 23.11.2010 01:43
Similar Messages
-
SQL Injection, replace single quote with two single quotes?
Is replacing a single quote with two single quotes adequate
for eliminating
SQL injection attacks? This article (
http://www.devguru.com/features/kb/kb100206.asp
) offers that advice, and it
enabled me to allow users to search name fields in the
database that contain
single quotes.
I was advised to use "Paramaterized SQL" in an earlier post,
but I can't
understand the concept behind that method, and whether it
applies to
queries, writes, or both.Then you can use both stored procedures and prepared
statements.
Both provide better protection than simply replacing
apostrophes.
Prepared statements are simple:
Set myCommand = Server.CreateObject("ADODB.Command")
...snip...
myCommand.CommandText = "INSERT INTO Users([Name], [Email])
VALUES (?, ?)"
...snip...
myCommand.Parameters.Append
myCommand.CreateParameter("@Name",200,1,50,Name)
myCommand.Parameters.Append
myCommand.CreateParameter("@Email",200,1,50,Email)
myCommand.Execute ,,128 'the ,,128 sets execution flags that
tell ADO not to
look for rows to be returned. This saves the expense of
creating a
recordset object you don't need.
Stored procedures are executed in a similar manner. DW can
help you with a
stored procedure through the "Command (Stored Procedure)"
server behavior.
You can see a full example of a prepared statement by looking
at DW's
recordset code after you've created a recordset using version
8.02.
"Mike Z" <[email protected]> wrote in message
news:eo5idq$3qr$[email protected]..
>I should have repeated this, I am using VBScript in ASP,
with an Access DB.
> -
How to concatenate single quote with any field like 'VBAK'
Hi,
How to concatenate single quote with any fields.
say for example I have table name as MARA, I have to pass that table name to other fields with single quote , like I have to pass that as
tab name = 'MARA'.
but how to do this,
below statement will not work
concatenate ''' 'MARA' ''' into string.. it's giving syntax error...
Regards,
Mrunalgv_name = 'MARA'.
gc_quote = '''.
CONCATENATE gc_quote gv_name gc_quote INTO value.
Pushpraj -
How to replace single quote with double quote
hai all,
i have a problem,
i am trying insert a string containing single quote into ms-access database.
it is giving error.
how can i avoid this .if i replace a single quote in the text with double quote it will defenitely
insert into database.
in java.lang.String
replace () will not work to replace quote with double quote.
any otherway to solve this problem.
please mail me to [email protected]
thank you
sambareddy
inidajava.lang.String.replace () will not work to replace quote with double quote.Really?
String x = ...
x.replace( "'", "\"" ); -
Replace Single Quote with double quote
Hi All,
I have a String s="help'me'to'replace";
i want to replace single quote( ' ) in to double quote ( " )
The final out put should be like this help"me"to"replace
( Actually this string i have to pass in to an XML )
Please help any ones.replaceAll("'","\"");{code}
or just one of the String#replace() methods.
Edited by: sabre150 on Mar 17, 2009 11:48 AM -
[SOLVED] Find and replace quotes with underscores in file names
I was looking to replace all of the quotes in file names in a directory with underscores. I seem to be having a problem doing so, though. Running the find command:
find . -name '*[\`\'\"]*' -exec sh -c "mv -i '$0' '${0//[\`\'\"]/_}'" {} \;
I get a > inviting me to continue the command. What am I doing wrong?
Last edited by gogi-goji (2010-01-03 02:19:13)@lolilolicon: yeah the -exec part does give another level of quotes, so you can run into trouble with scripts inside -exec.
I didn't know you could give {} as an argument after sh -c and $0, that solves the problem of not knowing which quotes to use around it in the -exec part.
$ find -mindepth 1 -exec sh -c 'mv -v --backup=t "$0" "$(echo "$0" | sed s/[\\x27\"\`]/___/g)"' {} \;
mv: `./a b' and `./a b' are the same file
`./\'' -> `./___'
`./\'"\'' -> `./_________'
mv: `./$0' and `./$0' are the same file
mv: `./a' and `./a' are the same file
mv: `./$(echo crash)' and `./$(echo crash)' are the same file
`./"' -> `./___' (backup: `./___.~1~')
`./\'\'\'' -> `./_________' (backup: `./_________.~1~')
Or with the other substitution method, it doesn't interpret \x27 (you could use $(echo -e \\x27) or you have to use ...'\\\''...
$ find -mindepth 1 -exec sh -c 'echo mv -v --backup=t "$0" "${0//['\\\''\"\`]/___}"' {} \;
$ find -mindepth 1 -exec sh -c 'echo mv -v --backup=t "$0" "${0//[$(echo -e \\x27)\"\`]/___}"' {} \;
mv -v --backup=t ./a b ./a b
mv -v --backup=t ./' ./___
mv -v --backup=t ./___ ./___
mv -v --backup=t ./'"' ./_________
mv -v --backup=t ./$0 ./$0
mv -v --backup=t ./___.~1~ ./___.~1~
mv -v --backup=t ./a ./a
mv -v --backup=t ./$(echo crash) ./$(echo crash)
mv -v --backup=t ./_________ ./_________
mv -v --backup=t ./" ./___
mv -v --backup=t ./''' ./_________
mv -v --backup=t ./_________.~1~ ./_________.~1~ -
Any way to generate a single quote (') with XSLT?
Hi:
I guess this is really an XSLT question. I'm using the Transform() method of an XMLType variable to apply a style sheet. The XML in the variable is just something simple like
<TBL>
<LAST_NAME>LIKE|JONES</LAST_NAME>
<FIRST_NAME>=|MARY</FIRST_NAME>
<AGE>=|50</AGE>
</TBL>
I am trying to get a stylesheet to transform something like the above into SQL such as
Select * from foo where LAST_NAME like 'JONES'
and FIRST_NAME ='MARY'
and AGE = 50But to do this, I need to generate the single quotes around the search terms and I can't get anything but LAST_NAME LIKE 'JONES'. Is there a way to do this? For now I am generating a ~ and replacing ~ for ' throughout the generated SQL text but that's a pretty sorry solution.
I thought that something like <xsl:text disable-output-escaping="yes">&</xsl:text> was going to work but then found out it has been deprecated. I was thinking character-map might work but that's an XSLT 2.0 thing and apparently 10g is on XSLT 1.0? In any case, it had no idea what I was trying to do with a character map.
So, am I overlooking an obvious way to get my stylesheet to insert apostrophes?
Thanks.It's 10.2.0.4.
Here's the procedure that accepts the XML/XSL clobs and tries to produce a SQL statement.
PROCEDURE GetSQLQueryFromXML(XMLClob in CLOB, XSLStylesheet in CLOB,
SQLQuery out CLOB, status out integer) IS
-- Define the local variables
xmldata XMLType; -- The XMLType format of the XML to transform
xsldata XMLType; -- The XMLType format of the stylesheet to apply
sqlQuery_XMLType XMLType; -- The XMLType format of the SQL query.
v_SQLQuery Clob; -- Holds XML Clob before translating ~ to '
BEGIN
status := -1; -- Initially unsuccessful
-- Get the XML document using the getXML() function defined in the database.
-- Since XMLType.transform() method takes XML data as XMLType instance,
-- use the XMLType.createXML method to convert the XML content received
-- as CLOB into an XMLType instance.
xmldata := XMLType.createXML(XMLClob);
-- Get the XSL Stylesheet using the getXSL() function defined in the database.
-- Since XMLType.transform() method takes an XSL stylesheet as XMLType instance,
-- use the XMLType.createXML method to convert the XSL content received as CLOB
-- into an XMLType instance.
xsldata := XMLType.createXML(XSLStylesheet);
-- Use the XMLtype.transform() function to get the transformed XML instance.
-- This function applies the stylesheet to the XML document and returns a transformed
-- XML instance.
sqlQuery_XMLType := xmldata.transform(xsldata);
-- Return the transformed XML instance as a CLOB value.
v_SQLQuery := sqlQuery_XMLType.getClobVal();
-- Change tildas to apostrophes. Currently unable to get an XSLT transformation
-- to insert single quotes, so we're inserting ~ instead. Now we need to
-- translate all ~s to 's in our query.
SQLQuery := translate(to_char(v_SQLQuery),'~','''');
status := 1; -- Everything went fine to get here
EXCEPTION
WHEN OTHERS THEN
raise_application_error
(-20102, 'Exception occurred in GetSQLQueryFromXML :'||SQLERRM);
END GetSQLQueryFromXML;The XML it works off of is
someXML CLOB :=
to_clob('<?xml version="1.0" encoding="windows-1252" ?>
<variable table_name="SOME_PERSON_TABLE" query_type="PERSON">
<item>
<fieldName><![CDATA[PERSON_KEY]]></fieldName>
<criteria><![CDATA[=]]></criteria>
<fieldType><![CDATA[Integer]]></fieldType>
<value><![CDATA[123456789]]></value>
</item>
<item>
<fieldName><![CDATA[LAST_NAME]]></fieldName>
<criteria><![CDATA[=]]></criteria>
<fieldType><![CDATA[String]]></fieldType>
<value><![CDATA[DOE]]></value>
</item>
<item>
<fieldName><![CDATA[FIRST_NAME]]></fieldName>
<criteria><![CDATA[=]]></criteria>
<fieldType><![CDATA[String]]></fieldType>
<value><![CDATA[JOHN]]></value>
</item>
<item>
<fieldName><![CDATA[MIDDLE_NAME]]></fieldName>
<criteria><![CDATA[-]]></criteria>
<fieldType><![CDATA[String]]></fieldType>
<value />
</item>
<item>
<fieldName><![CDATA[SUFFIX]]></fieldName>
<criteria><![CDATA[-]]></criteria>
<fieldType><![CDATA[String]]></fieldType>
<value />
</item>
</variable>');And the corresponding XSLT that should translate it is:
myStylesheet CLOB :=
to_clob('<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- <xsl:preserve-space elements="list-of-element-names"/> -->
<!-- We just want the SQL text output. No XML declaration etc. -->
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
<!-- Apostrophes will be made tildas and the PL/SQL will translate those to -->
<!-- apostrophes for the final SQL string. -->
<xsl:variable name="apos">~</xsl:variable>
<xsl:template match="/">
select * from
<xsl:value-of select="variable/@table_name"/>
where 1=1
<xsl:for-each select="variable/child::node()">
<xsl:choose>
<!-- if the value node is not null... -->
<xsl:when test="./value/text()[normalize-space(.)]">
<!-- There is another predicate. Add the AND term and the predicate -->
AND <xsl:value-of select="./fieldName"/>
<xsl:text> </xsl:text>
<xsl:value-of select="./criteria"/>
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="string(./fieldType)=''String''">
<xsl:copy-of select="$apos" />
<xsl:value-of select="./value"/>
<xsl:copy-of select="$apos" />
</xsl:when>
<xsl:when test="string(./fieldType)=''Clob''">
<xsl:copy-of select="$apos" />
<xsl:value-of select="./value"/>
<xsl:copy-of select="$apos" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="./value"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>');Basically if the VALUE element has a value then the fieldType is checked. If fieldType is String or Clob then we'll need the apostrophes. For now I'm putting in tildas and changing them later. -
How do I replace one ' (Single Quote) with '' (Two single Quote)
Hi,
I have been surfing around the forum, coudn't find the similiar case.
I have been trying but fail. Below is my code:
activity = request.getParameter("activity");
activity = activity.replace("\'", "\'\'");
Error Occur:
Incompatible type for method. Can't convert java.lang.String to char. activity = activity.replace("\'", "\'");
I'm trying to use replaceAll(), but seem like the method is not existed, we are using Version Java 1.3
Pls advise.
Regards
YingFor JDK 1.3 or ealier, use this:
public static String replaceSubstrings(String str, String sub, String rep){
int s, p, q;
int slen = sub.length();
StringBuffer sb = new StringBuffer();
s = 0;
p = str.indexOf(sub);
q = p + slen;
while (p != -1){
sb.append(str.substring(s, p));
sb.append(rep);
s = q;
p = str.indexOf(sub, s);
if (p != -1){
q = p + slen;
sb.append(str.substring(s));
return sb.toString();
activity = replaceSubstrings(activity, "'", "''"); -
Replace single quote with two single quotes
Hi all,
I have a value = ABCD'S(>@!23. i want to replace the value as ABCD''S(>@!23.
Thanks in advanceWhat is your database version ? Q operator works from 10G onwards.
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Nov 23 14:35:38 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn hr
Enter password:
Connected.
SQL> CREATE TABLE test_Q_operator(str VARCHAR2(30));
Table created.
SQL> INSERT INTO test_Q_operator VALUES('ABCD''S(>@!23');
1 row created.
SQL> INSERT INTO test_Q_operator VALUES('Saubhik''s test row');
1 row created.
SQL> commit;
Commit complete.
SQL> SELECT str,REPLACE(str,Q'[']',Q'['']') col2
2 FROM test_Q_operator;
STR
COL2
ABCD'S(>@!23
ABCD''S(>@!23
Saubhik's test row
Saubhik''s test row
SQL>Also check you SQL*PLUS client version. -
Search and replace all spaces between quotes with uderscore
Hello,
I'm new on Powershell and I'm trying to make the script that:
searches over file and replaces all the spaces which have been found between quotes;
removes all quotes (except these which has not value eg "").
For example:
Source file:
string3=string4 string="string1 string2 string23" string8="" string5="string7 string8"
Destination file:
string3=string4 string=string1_string2_string23 string8="" string5=string7_string8
I have been created script that searches the data correctly
$file="c:\scripts\mk.txt"
$data=Get-Content $file
$1
$regex = [regex]@'
(?x) # ignore pattern whitespace option
(?<test>(["'])(?:(?=(\\?))\2.)*?\1)
$data |% {
if ($_ -match $regex){
new-object psobject -property @{
test = $matches['test']
}#when adding "|select-object test" I'm getting the correct data
I have stopped here on search / replace operation (from space to underscore, and by removing the quotes leaving the empty quotes non touched). Can you help me to finish the script?
Thanks!Try this. It uses the [Regex] Replace static method, with a script block delegate:
$file="c:\scripts\mk.txt"
$data=Get-Content $file
$regex = '(\S+=[^"\s]+)|(\S+="[^"]+")'
$delegate = { $args[0].value.replace(' ','_') -replace '"(.+)"','$1' }
$data |% { [regex]::Replace($_,$regex,$delegate) }
[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " " -
Lexical parameter and single quotes
I am using perl to build the lexical parameter that is being passed to the report builder. The perl builds an "in" statement for the where clause. In the data the users select some of the values may contain a single quote. I have used a perl script to replace the internal single quote with two single quotes.
Example:
selected values: eeee'ss, ffff'22ww
final string passed: "in ('eeee''ss', 'ffff''22ww')"
I am getting any error message indicating quoted string not properly terminated. Any ideas?
ThanksI have actually found that if the single quote is embedded in the string I can get it to work, however, if the single quote is at the end of the string I am still getting the error message.
To get it to work with the single quote in the string I actually had to create the string with 3 single quotes in place of the embedded one single quote.
Thanks for the suggestion. I will check it out. -
String with embedded single quote
Hi, all. We're trying to pass a string from one procedure to another, which will then do an EXECUTE IMMEDIATE on it. However, there are single quotes withing the string, and they're driving us nuts! This is what the concatenated string should look like when passed to the pw_execDDL procedure:
insert into appimmunization.wsrprfs (inoc_id, proof, is_valid,proof_num) values ('MEAG', to_date('02-OCT-05','DD-MMM-YY'), 'Y',1);
Here's the concatenation process that doesn't work, and there are functions being called within the string:
chr_sql := 'insert into appimmunization.wsrprfs (inoc_id, proof, is_valid,proof_num) values (' || '''' || prm_inoc_id || '''' || ', ' || 'to_date(' || '''' || prm_proof1 || ''''||','||'''' ||'DD-MMM-YY'||''''||')' || ', ' || '''' || fw_is_proof_valid(prm_birth_date, prm_proof1) || '''' || ',1);';
pw_execDDL(chr_sql); /* call the procedure to do the EXECUTE IMMEDIATE */
Help! We've tried every combination -- using two single quotes together, three, and four, and still no luck. Thanks.insert into appimmunization.wsrprfs (inoc_id, proof,
is_valid,proof_num) values ('MEAG',
to_date('02-OCT-05','DD-MMM-YY'), 'Y',1);
This statement can be made in a string with the following affectation:
chr_sql := 'insert into appimmunization.wsrprfs (inoc_id, proof, is_valid,proof_num) values (''MEAG'', to_date(''02-OCT-05'',''DD-MMM-YY''), ''Y'',1)';
Note please that each single quote in your original string must be specified using two single quotes and that is all. It is more readable and more easy to do it this way.
Michel. -
How to handle XML string with Single Quotes as a parameter to SP dynamically?
Hi,
I would like to know if there is a way to handle the Single Quotes in XML value when it is passed to Stored Procedure?
I should be able to handle it without adding another Single Quote to it.
Thanks,
Chandra ShekarHi Chandra,
Your requirement is not precise. Based on my understanding and guessing, are you metioning something like the below sample?
/*If the xml is generated you have no need to escape the singe quote(')*/
DECLARE @xmlTbl TABLE (ID INT,name VARCHAR(99));
INSERT INTO @xmlTbl VALUES(1,'Eric''s')
INSERT INTO @xmlTbl VALUES(2,'Zhang''s')
DECLARE @xmlDoc1 XML
SELECT @xmlDoc1
FROM @xmlTbl FOR XML PATH('PERSON'),ROOT('PERSONS')
EXEC yourProcedure @xmlDoc1
/*If your copy and paste the xml, you have to escape the single quote(') with 2s('')*/
DECLARE @xmlDoc2 XML
SET @xmlDoc2 = '<PERSONS>
<PERSON>
<ID>1</ID>
<name>Eric''s</name>
</PERSON>
<PERSON>
<ID>2</ID>
<name>Zhang''s</name>
</PERSON>
</PERSONS>'
EXEC yourProcedure @xmlDoc2
If that is not regarding your requirement, please elaborate with more details.
Eric Zhang
TechNet Community Support -
How to use a single quote string in where condition
Hi,
I have one problem in building a query.
SELECT agx_drug_indication.record_id, agx_drug_indication.fk_ad_rec_id,
agx_drug_indication.drugindicationmeddraver, agx_drug.record_id,
agx_drug.fk_apat_rec_id,
REPLACE (agx_drug.medicinalproduct, '''', '''') AS "MEDICINALPRODUCT",
pack_imp_objects.fn_get_arisg_code
(147,
agx_drug_indication.drugindicationmeddraver
) AS "DRUGINDICATIONMEDDRAVER",
agx_drug.drugindication,
NVL (agx_drug.drugcharacterization, 1) AS "DRUGCHARACTERIZATION",
agx_safety_report.record_id, agx_safety_report.case_identifier_no,
agx_safety_report.fk_apat_rec_id,
pack_imp_objects.fn_meddra_llt_matching
(agx_drug_indication.drugindication,
agx_drug_indication.drugindication,
agx_drug_indication.drugindicationmeddraver,
1
) AS "LLT_CODE",
pack_imp_objects.fn_meddra_soccode_matching
(agx_drug_indication.drugindication,
agx_drug_indication.drugindicationmeddraver
) AS "PRIMARY_SOC_CODE",
pack_imp_objects.fn_meddra_soccode_matching
(agx_drug_indication.drugindication,
agx_drug_indication.drugindicationmeddraver
) AS "CASE_SOC_CODE",
pack_imp_objects.fn_meddra_pt_matching
(agx_drug_indication.drugindication,
agx_drug_indication.drugindication,
agx_drug_indication.drugindicationmeddraver
) AS "PT_CODE",
pack_imp_objects.fn_get_aer_id (11) AS "AER_ID"
FROM agx_drug_indication,
agx_drug,
agx_safety_report
WHERE agx_drug_indication.fk_ad_rec_id = agx_drug.record_id
AND agx_drug.fk_apat_rec_id = agx_safety_report.fk_apat_rec_id
AND agx_safety_report.case_identifier_no IS NOT NULL
AND agx_drug_indication.drugindication IS NOT NULL
AND agx_drug.medicinalproduct =
REPLACE ('*-qVAGX_DRUG.MEDICINALPRODUCT*', '''', '''')
In the above query last line '-qVAGX_DRUG.MEDICINALPRODUCT' is a dynamic variable which may or may not contain the single quotes.
Ex: ABC's or just ABC.
The query has to support both single quote and without quote in it.
I wanted everything to be done in the sinlq query on not a PL/SQL Block.
Please help me ASAPkumar0828 wrote:
<font color="#FF0000"> ... </font>
REPLACE (agx_drug.medicinalproduct, '''', '''') AS "MEDICINALPRODUCT",
<font color="#FF0000"> ... </font> <pre>
REPLACE (agx_drug.medicinalproduct, '<font style="background-color: #E7FA6B">''</font>', '<font style="background-color: #E7FA6B">''</font>')
</pre>
With the above statement you are replacing single quote with another single quote
(which is nonsense).
<font color="#FF0000"> ... </font>
AND agx_drug.medicinalproduct = REPLACE ('*-qVAGX_DRUG.MEDICINALPRODUCT*', '''', '''')
In the above query last line '-qVAGX_DRUG.MEDICINALPRODUCT' is a dynamic variable which may or may not contain the single quotes.This is not a dynamic variable but a string value:
<pre>
AND agx_drug.medicinalproduct =
REPLACE (<font style="background-color: #FF3D55">'*</font>-qVAGX_DRUG.MEDICINALPRODUCT<font style="background-color: #FF3D55">*'</font>, '<font style="background-color: #E7FA6B">''</font>', '<font style="background-color: #E7FA6B">''</font>')
</pre>
*-qVAGX_DRUG.MEDICINALPRODUCT* <pre>
AND agx_drug.medicinalproduct =
REPLACE (<font style="background-color: #FF3D55">q'*</font>-qVAGX_DRUG.MEDICINALPRODUCT<font style="background-color: #FF3D55">*'</font>, '<font style="background-color: #E7FA6B">''</font>', '<font style="background-color: #E7FA6B">''</font>')
</pre>
-qVAGX_DRUG.MEDICINALPRODUCT q'[a]' => a
q'[a']' => a'
q'[a'']' => a''
q'*a*' => a
q'*a'*' => a'
q'*a''*' => a''
A variable also cannot contain a dot (.):
<pre>VAGX_DRUG<font style="background-color: #FF3D55">.</font>MEDICINALPRODUCT</pre>
Ex: ABC's or just ABC.
The query has to support both single quote and without quote in it.
I wanted everything to be done in the sinlq query on not a PL/SQL Block.
Please help me ASAPTry this:
<pre>
AND agx_drug.medicinalproduct = MY_VARIABLE
</pre> -
IN operator with single quotes
Hi All,
I am having problem dealing with Single Quotes with IN operator. Below procedure will explain my problem:
create or replace procedure sp_countemp
p_empnames in varchar2
is
v_cnt integer:=0;
BEGIN
select count(*) into v_cnt from emp where ename in (p_empnames);
DBMS_OUTPUT.PUT_LINE(v_cnt);
END;I will be getting p_empnames as 'ALLEN','SMITH'
But I am not getting any records here.
Thanks,
DanishHope this helps..
DECLARE
TYPE strarray IS TABLE OF VARCHAR2(100);
p_empnames STRARRAY;
v_tot INTEGER :=0;
v_cnt INTEGER := 0;
BEGIN
p_empnames := strarray('Allen','Smith');
FOR i IN p_empnames.FIRST .. p_empnames.LAST LOOP
SELECT COUNT(*) INTO v_tot FROM emp WHERE ename = p_empnames(i);
v_cnt := v_cnt + v_tot;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Count '||v_cnt);
END;
Count 2
Maybe you are looking for
-
Page numbers not showing up in PDF export
I have an InDesign document with page numbers placed on all master pages. The page numbers show up just fine in InDesign, but when I export the document as a PDF the page numbers don't show up at all in the PDF. Any idea why this is happening?
-
ITunes doesn't add some of my music files.
iTunes doesn't add to the library some of my files. For example, from the same album, iTunes just add few musics. With quick player, all files can be opened. How do I open all my music files in iTunes? Thanks!
-
NVision prior year totals are overwriting with current year
Hi All, I have created an nVision report with two columns, one is for Current year(timespan-YTD) expense totals and other one is for Prev Year(timespan-Prev_Year) totals and row level i have all Expenditure accounts from Account Tree. When I run the
-
Hi, I have two data columns in my BPS layout called price and margin with one lead column material, the layout looks like this when it initially display: Material Price margin 1 1.25 2 3 4 The requirments i
-
Warning message for ARAP payment difference
Dear all, Is there any way to display warning message for AR/AP clearing if there is payment difference? spro can set the tolerance level but will not display any message if the difference is within tolerance group. My qn is how to warn the users bef