Using the parameter nls_length_semantics

What is the use of nls_length_semantics pratamter?

And what is the difference if the parameter nls_length_semantics = 'CHAR' rather than 'BYTE '.

Thanks in advance

NLS_LENGTH_SEMANTICS allows you to create CHAR and VARCHAR2 columns by using the semantics of length in bytes or characters. The existing columns are not affected.

NCHAR, NVARCHAR2, CLOB, and NCLOB columns are always based on characters. You may need to you use the semantics of bytes in order to maintain compatibility with existing applications.

NLS_LENGTH_SEMANTICS does not apply to tables in the SYS and SYSTEM. The data dictionary always use byte semantics.

http://www.oratransplant.nl/2005/11/

Tags: Database

Similar Questions

  • How to use the parameter B-BIS in a factory of connections

    How to use the parameter B-BIS in a factory of connections (OS 5.0)?

    I have found no no API for it.

    Maybe http://www.blackberry.com/developers/docs/7.1.0api/net/rim/device/api/io/transport/options/BisBOptio... ?

  • DPS: Judge to use the parameter Raster or vector in the States of the objects when the majority of the page is a photo. What is the best setting for the overall performance?

    I am trying to decide whether to use the parameter Raster or vector in the States of the object when the majority of the screen is a picture (with a modest but important legend for children to read). The legend certainly makes it look more net as vector. But does the photo! The raster setting seems to make the lower-res images in comparison. In my first edition of my application, I thought that raster would be the best setting when the photo was the subject dominating the page. But now, after seeing how strong he looks like vector, (but with almost a refresh of the unacceptable time. Perhaps better on the latest iPad. Most of my readers/students in class will use iPad 2 s, which has a slower processor). I wonder if I should go through the trouble of changing States of photo objects that have the type as well to the vector. It doesn't seem to be as sensitive to a re - draw on the iPad 2 (non-retine)

    Is Filesize hit if I make about 1200 on these objects range from Raster to vector? (It is a huge, highly interactive history book, so I'm curious if acutally go to vector on these photos would reduce the size of the file) What is the best setting for the overall performance?

    I see the freeks screen outside for a bit if you try to pinch and zoom in a vector object (photo) vs raster. Which is disappointing. Does slow down load time/refreshment in frame, which is a little less. I also found that the drop shadows really bad that redraws effect in vector, almost vibrating in a slide show, for example. Thus, in cases where I need shadows, I'm sticking with Raster.

    All tips go ahead?

    Brian

    Does that help? http://boblevine.us/Digital-Publishing-Suite-101-keep-text-sharp-in-raster-slideshows/

  • By using the parameter as a column in a select statement inside the stored procedure.

    I'm doing a variation of what follows. Can someone tell me how to use the parameter passed in the IN clause correctly? Thank you
    drop table test1;
    drop table test2;
    
    CREATE TABLE TEST1
    (
      COL1  NUMBER
    );
    
    CREATE TABLE TEST2
    (
      COL2  NUMBER
    );
    
    insert into test1 values (1);
    insert into test2 values (1);
    
    commit;
    
    create or replace  procedure test_sp (col_name varchar2)
    as
    
    var1 number;
    begin
    
    select col1 into  var1 from test1 where col1 in (select col_name from test2);
    
    end;
    
    exec test_sp ('COL2');
    Deleted table.
    Deleted table.
    Table created.
    Table created.
    1 line of creation.
    1 line of creation.
    Validation complete.
    Created procedure.
    BEGIN test_sp ("COL2"); END;
    Error on line 29
    ORA-01722: invalid number
    ORA-06512: on-site ".» TEST_SP', line 7
    ORA-06512: at line 1

    You must use dynamic sql statements:

    SQL> drop table test1;
    
    Table dropped.
    
    SQL> drop table test2;
    
    Table dropped.
    
    SQL> CREATE TABLE TEST1
      2  (
      3    COL1  NUMBER
      4  );
    
    Table created.
    
    SQL> CREATE TABLE TEST2
      2  (
      3    COL2  NUMBER
      4  );
    
    Table created.
    
    SQL> insert into test1 values (1);
    
    1 row created.
    
    SQL> insert into test2 values (1);
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> create or replace  procedure test_sp (col_name varchar2)
      2  as
      3  var1 number;
      4  begin
      5  execute immediate 'select col1 from test1 where col1 in (select ' || col_name || ' from test2)' into var1;
      6  end;
      7  /
    
    Procedure created.
    
    SQL> exec test_sp ('COL2');
    
    PL/SQL procedure successfully completed.
    
    SQL> 
    

    SY.

  • by using the parameter entry is as column names

    Hi all

    I have a stored proc in which I get the column names as parameter with string delimited by commas. For example, if I get

    Address, city, name, zip_code as a varchar2 in my stored proc is the name of the parameter

    p_param

    I can do


    Select p_param from

    VW_Personal

    or is their any simple way, I can use these list of parameters by commas as the column names in my stored proc.

    Any help will be appreciated.


    Thank you

    I copy - paste the same answer I gave to another question this morning:

    You can use ref Cursor, anyway when you retrieve the values you need to know the number and the type of data in the columns.

    SQL> create or replace procedure print_enames(in_col in varchar, in_val in varchar2) is
      2  c sys_refcursor;
      3  v_name emp.ename%type;
      4  begin
      5    open c for 'select ename from emp where '||DBMS_ASSERT.SIMPLE_SQL_NAME(in_col)||'= :1 ' using in_val;
      6    loop
      7     fetch c into v_name;
      8     exit when c%notfound;
      9     dbms_output.put_line('ename='||v_name);
     10    end loop;
     11  end;
     12  / 
    
    Procedure created.
    
    SQL> select * from emp;
    
         EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- --------- ---------- ---------- ----------
          7369 SMITH      CLERK           7902 17-DEC-80        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
          7566 JONES      MANAGER         7839 02-APR-81       2975                    20
          7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
          7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
          7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
          7839 KING       PRESIDENT            17-NOV-81       5000                    10
          7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
          7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
          7900 JAMES      CLERK           7698 03-DEC-81        950                    30
          7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
          7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
    
    14 rows selected.
    
    SQL> set serverout on
    SQL> exec print_enames('mgr','7839')
    ename=JONES
    ename=BLAKE
    ename=CLARK
    
    PL/SQL procedure successfully completed.
    
    SQL> exec print_enames('sal','1250')
    ename=WARD
    ename=MARTIN
    
    PL/SQL procedure successfully completed.
    
    SQL> exec print_enames('deptno','30')
    ename=ALLEN
    ename=WARD
    ename=MARTIN
    ename=BLAKE
    ename=TURNER
    ename=JAMES
    
    PL/SQL procedure successfully completed.
    

    Max

    Published by: Massimo Ruocchio, June 23, 2011 17:02
    As well stressed Centinul this approach is prone to sql injection.
    Usage of DBMS_ASSERT function. SIMPLE_SQL_NAME can avoid this problem, but there are onliy on Oracle 10.2 and later.

  • Update a record questioned using the parameter

    Hi all

    Have someone to help me to update an interviewed record of forms. It's like that when I use ID to search for the details, I want to update the record you are searching.

    Arif

    Hi Arif,
    Here you're doing something complicated with you.

    1 UCID_PARAM and USERCREATION are 2 revenge in the same form
    2 UCID_PARAM contain column UCID which is the primary key of the table usercreation. I used this block to pass

    The blockk UCID_PARAM here is the database block and why you must pass the value as a parameter because as you say it is primary key and foreign key in the block. Then why do you use search mechanism Assembly. I mean just create relationship between UCID_PARAM and USERCREATION block or if he joins then just use the method ENTER_QUERY and EXECUTE_QUERY. I understand because if you enter a value in the UCID_PARAM block and goes to the block of detail and do EXECUTE_QUERY by selecting a WHERE CLAUSE.

    So, what's going to happen here. System takes into account that you are inserting record in UCID_PARAM. So, there is a field that is not null, then the error is coming.

    Just use the default behavior of your forms. Or if you really want to use this method. Next, create a block of data non-base to pass the parameter. Do not use UCID_PARAM as the database block.

    And one more thing, I noticed in your this clause

    set_block_property ('USERCREATION', onetime_where, 'UCID =' |) ': UCID_PARAM. UCID');

    It should be

    set_block_property('USERCREATION',onetime_where,'UCID='||:FORM_FIELD_NAME);

    I hope it is clear now.

    -Clément

  • problem when you use the parameter $ v in a package

    Hello.

    I have to get the parameter data $ v view within a packet, but when I compile it, he gives me the error "PL/SQL: ORA-00942: table or view does not exist. However, the owner of the schema of the pacckage has privileges during this point of view because when I run select * v parameter $ outside of the package, I get data without problem.

    I tried to compile using the names SYS.v$ parameter and SYS.v$ _parameter, but none of them works.

    Do I need special privileges to sys or something like that? What is the command?

    I also tried this:

    create or replace view oracle_parameter
    as
    Select *.
    setting of v$.

    but it showed me the error "Insuficient privileges."

    Thank you.

    The user needs to have the privilege granted explicitly not through roles.
    Try

     grant select on v_$parameter to user1;
    

    also

    create or replace view oracle_parameter
    as
    Select *.
    setting of v$.

    but it showed me the error "Insuficient privileges."

    What is the number of the ORA error? Make sure that the user has create the privilege of seeing as well.

    Published by: yingkuan on January 20, 2009 15:41

  • Remote function call of dblink in a procedure by using the parameter as dblink

    Hello.

    Need to call a function of distance of a procedure with a parameter like dblink. Is this possible?

    EX:

    DECLARE
    remote_db varchar2 (10);
    exec_string varchar2 (100);
    result varchar2 (10);
    BEGIN
    remote_db: = myremotedb;
    exec_string: = ' miremotefunction@'|| exec_string | "in the result of the double."
    run immediately (exec_string);
    END;


    Any other sugestion?

    Thank you very much

    Any other sugestion?

    Yes, hide all remote objects behind local synonyms. Then you need dynamic SQL and avoid all the headaches.

    In the case of link names change in environments, and deployment, simply a new set of synonyms for each environment.

    Concerning
    Peter

  • Using the parameter EFFECTIVE_DATE in PAY_ELEMENT_ENTRY_API

    I call the UPDATE_ELEMENT_ENTRY procedure in the PAY_ELEMENT_ENTRY_API. Comments in the API to say some EFFECTIVE_DATE that it "determines when the DateTrack operation will be implemented." Can someone tell me what this means? I know what DateTracking is (of course!) but how does the EFFECTIVE_DATE apply?

    I'm changing the default associated with the item, and I thought that EFFECTIVE_DATE would control when the changed amount comes into force; However, the updated amount appears before and after the date on which I used in EFFECTIVE_DATE.

    When you call the update API, you will also pass the Date range Mode.

    If track Mode Date = '' CORRECTION '' then, recording is active, as of the entry into force will be updated.

    If trace Mode Date = "UPDATE", then a new balance sheet Date would be established from the date of entry into force.

    If trace Mode Date = "UPDATE_CHANGE_INSERT", then a new track record Date would be established with the entry into force = early entry into force and effective Date = Date of the effective start of the future record - 1.

    If trace Mode Date = "UPDATE_OVERRIDE", then all future records of entry into force will be deleted and would create a new track from the Date of entry into force.

    I hope that this would help you understand the importance of membership as well as modes of track Date.

    Kind regards
    Sharath

  • How to use the parameter "User Menu"

    How one in preferences in the user Menu?

    And if the Sony manual is not answering your questions, there is Chapter 3, pages 51-56 of my book.

    http://www.vortexmedia.com/Guide-to-Sony-F55.html

    .

  • How to use a parameter query to select and display the data in the table of the façade

    Hiiiiii

    I am using Access 2007 database
    I want to select the specific data in the database using control of the chain as 'select product, size, weight of ProductInfo where barcode (chain control) =?'  and also display the same table of façade.

    I use the connected database toolkit.
    I saw the example of the parameterized insert, but it did not help to use parameterized select query, as well as to display data of parameterized select query.

    I looked for example on parameterized select query, but I don't have any.
    So pls guide me how to do this. I would like to know the other method (if any) that the use of parameter query to perform the same thing.
    If possble pls share a vi reference.
    Thank you!!!

    HII szewczak
    Thanks for the reply
    but I did not getsolution in one of your shared links
    My problem is solved. There is no need to use the parameter query to select control values
    In my case I want to display data from database where bar code is even entered by the user
    I use the data function DB TOOL CHOOSE and create the condition of chain based on concatenation of strings

  • Preview screen turns black when you use the slider to soften ultra key

    Hello

    I'm working on a video, including a greenscreen. That is why I use the ultra key to make the transparent green screnscreen. Whenever I touch the slider "soften" Ultra key, windos preview blackens. I can't get it back to normal until I restart the first. Version 2015.4.

    This issue is being investigated. So far it has been reproduced with acceleration GPU on Windows. What is the case on your system? Also, could you provide your operating system, graphics card and if you use CUDA or OpenCL?

    A possible solution is to go into project settings > General and set the Mercury Playback Engine software only, when you use the parameter to soften.

    Thank you.

  • Warnings warning when I use the New-VIPermission cmdlet...?

    I used PowerCLI to set permissions on the Windows VM in our environment. I found the "New VIPermission" cmdlet, but when I use this cmdlet I a few warnings.

    When a run this code:

    PowerCLI.png

    I get these warnings:

    WARNING: The 'Entity' parameter is obsolete. This setting no longer accepts multiple values.

    WARNING: The "Principal" parameter is obsolete. This setting no longer accepts multiple values.

    I use a cmdlet that is documented in VMware vSphere 6.0 Documentation, so, what's the problem?

    With respect,

    Wouter

    No, not as long as you do not use the parameter in the configuration described, i.e. by passing several values of the main parameter and the entity.

  • How to pass the parameter in where clause contained in the custom file?

    I have the tracking query

    Blue are the parameters

    I paste this to a custom folder

    and

    Select last_update_date, creation_date

    of ra_customer_trx_all

    "where trunc (last_update_date) = 29-SEP-2012."

    and customer_trx_id = 1109

    in another folder custom return 1 row only and create a different worksheet in the same workbook and create

    3 setting and 2 of them pointing to the 1 row to query and create a calcualtion

    SET_CONTEXT ("Date_From", TO_CHAR(:Date From)) and SET_CONTEXT ('Date_TO', TO_CHAR(:Date To))

    and 1 condition 1 = SET_PARAM3(:Period)

    but this does not work for me, no data back please help

    Select m.party_name TENANT_NAME

    b.interface_line_attribute10 lease_num

    -, b.interface_line_attribute12 «PPS Number.

    b.interface_line_attribute2 LOCATION_CODE

    flexv.description property_name

    INVOICE_NUMBER a2.trx_number

    -, t.nom "Type of Transaction".

    -, e.attribute15 "AS400 Key."

    , b2.description 'BILL_ITEM_INVOCIE_DESCRIPTION '.

    , case when gcc.segment5 like 6% ' then ' P/L '.

    When gcc.segment5 like 7% ' then ' P/L '.

    When gcc.segment5 as 8% ' then ' P/L '.

    When gcc.segment5 like 9% ' then ' P/L '.

    else "B/S".

    end as account_nature

    -, gcc.concatenated_segments as 'account of burden '.

    gcc.segment1 company_code

    gcc.segment2 department_code

    gcc.segment3 property_code

    gcc.segment4 business_segment

    gcc.segment5 account_code

    gcc.segment6 project_code

    gcc.segment7 intercom_code

    gcc.segment8 spare1

    gcc.segment9 spare2

    b2.extended_amount BILL_ITEM_INVOICE_AMOUNT

    to_char (substr(ps.gl_date,4,8)) gl_period

    b.interface_line_attribute11 bill_start_date

    b.interface_line_attribute14 bill_end_date

    decode (a2.invoicing_rule_id, '-2',

    DECODE (TO_CHAR ("b.RULE_START_DATE, ' YYYYMM"), to_char (to_date (to_char (TRUNC (to_date (SETPARAM.) GET_PARAM3, "YYYYMM"), 'Month')-1), "MON-DD-YYYY"), "YYYYMM"), "Current", "Forward").

    'In progress' Bill_nature)

    , to_char (a2.trx_date, ' MON-DD-YYYY "") invoice_date

    pal.lease_commencement_date

    pal.lease_termination_date

    h.user_name created_by

    -, NULL as remarks

    of ra_customer_trx_all one

    ra_customer_trx_lines_all b

    pn_leases_all d

    e pn_tenancies_all

    hz_cust_accounts l

    hz_parties m

    fnd_user h

    ar_payment_schedules_all ps

    RA_CUST_TRX_LINE_GL_DIST_ALL dist

    gl_code_combinations_kfv gcc

    AR_RECEIVABLE_APPLICATIONS_all app

    ra_customer_trx_all a2

    ra_customer_trx_lines_all b2

    RA_CUST_TRX_TYPES_all t

    fnd_flex_values_vl flexv

    pn_lease_details_all pal

    where

    App. APPLICATION_TYPE = "CM".

    and flexv.flex_value = gcc.segment3

    and flexv. FLEX_VALUE_SET_ID = 1014916

    and pal.lease_id = d.lease_id

    and app.applied_customer_trx_id = a.customer_trx_id

    and app.customer_trx_id = a2.customer_trx_id

    and a2.cust_trx_type_id = t.cust_trx_type_id (+)

    and a2.org_id = t.org_id (+)

    and b.customer_trx_line_id = b2.previous_customer_trx_line_id

    and dist. CUSTOMER_TRX_LINE_ID = b2. CUSTOMER_TRX_LINE_ID

    and dist.account_class = 'REV '.

    and dist.account_set_flag = DECODE (NVL(a2.invoicing_rule_id,1)-2, 'Y', 'n')

    and gcc. CODE_COMBINATION_ID (+) is Dist. CODE_COMBINATION_ID

    and b.interface_line_attribute10 = d.lease_num

    and d.lease_id = e.lease_id

    and e.primary_flag = 'Y '.

    and b2.customer_trx_id = a2.customer_trx_id

    and a2.bill_to_customer_id = l.cust_account_id

    and l.party_id = m.party_id

    and a2.created_by = h.user_id

    and ps.customer_trx_id = app.customer_trx_id

    and ps.gl_date between trunc (trunc (TO_DATE (SYS_CONTEXT ('DISCO_CONTEXT', 'Date_From')), 'MM')-1, 'MM') and trunc (TO_DATE (SYS_CONTEXT ('DISCO_CONTEXT', 'Date_To')), 'MM')-1

    What exactly is the problem with the results? Can you do the report include the gl_date, so that you can see exactly what is included?

    The only way to solve this is back to basics. You must be certain that the setting and calculations for the date work 100%. You have granted the Execute permission on the function to your landlord EUL - Yes? I did create the function in a package belonged to EUL_US, then I got no problem with permissions or grant.

    Also, gl_date is a DATE string and not a right? I ask because if it is not a date, but a string then a few dates could be left out.

    Assuming that you are 100% some of the building blocks, you should start by including only the gl_date and the primary key of the table you are using. Once you are sure you have found the right data, you can start adding in addition to fields.

    I note that you use the E-Business Suite objects. I copied the code in my system where I don't use rental. So I put comment references to tables 3 PN. I had 150 lines of data when I asked for it by using the parameter, and then when I hard coded the BETWEEN operator for the gl_date. You don't have to make sure that your landlord EUL got right SELECT all tables and views used in your code and, if you want to share this code with someone else, you must also have LICENSING rights.

    Try your code in a SQL like TOAD tool and see what happens. Are you absolutely sure that each of your transactions has an entry in the tables PN? Maybe it's why you don't get the results you expect. You can try, as I did, to comment these lines out and then see what happens.

    Hopefully this has given you enough to solve your problem

    Michael

    PS. It would be nice to know your name. You have not used once it in your thread.

  • USING THE parameters in procedures

    Hello Experts;


    Hello all;


    I am trying to run a program by using the parameter of the procedure (IN and OUT IN).

    I have an emp table I want to update the details of the column perk.


    > > Here is coding > >


    1 create or replace procedure emp_salary

    2 (id IN emp.eid%type, salary IN OUT emp.esalary%type) IS

    number of tmp_sal 3.

    4 BEGIN

    5. Select esalary in the tmp_sal of the emp where eid = id;

    6 If tmp_sal between 10000 and 20000 THEN

    7 salary_inout: = tmp_sal * 1.2;

    8 tmp_sal between 20001 and 29999 ElseIf THEN

    9 salary_inout: = tmp_sal * 1.8;

    10 if ELS tmp_sal > 30000 then

    11 salary_inout: = tmp_sal * 2.0;

    12 * END;

    SQL > /.

    CAUTION: Procedure created with compilation errors.

    SQL > show errors;

    PROCEDURAL EMP_SALARY errors:

    LINE/COL ERROR

    -------- -----------------------------------------------------------------

    10/5 PLS-00103: encountered the symbol "IF" when awaits an of the

    Next: =. ( @ % ;   The symbol ';' was replaced by 'IF' continue.

    12/4 PLS-00103: encountered the symbol ";" when expecting one of the

    Suite: If

    MY version of DB is: 10.2.0.1

    Details of the EMP:


    SQL > select * from emp;

    | EID | ENAME |  EQUAL |  ESALARY | ECITY |  EPERK |

    1 sona |   MBA |  10000 | ********    |            |

    Maya 2 |   MCA |  15000 |  **********|            |

    3 sony |   MSC |  20000 |  ****         |            |

    4 King |   Magnin |  22000 |  **********|             |

    5 ford |   Magnin |  40000 | **********|              |

    Thanks in advance;

    Hello

    Sorry, I'm not sure to understand any issue.

    8f953842-815B-4D8C-833d-f2a3dd51e602 wrote:

    Hello Frank klush.

    > Argument datatype >

    EID NUMBER

    ESALARY VARCHAR2 (15)

    Question 1: if I declare esalary is varchar2, how will this affect my argument?

    As I have already said, the pay argument is not used.  As long as it is not used, it doesn't matter what type of data it has, but you must call the procedure with an argument of this type of data.

    Because you named the "wages" argument, I suppose that it is supposed to contain a value that could come from the emp table esalary column.  If that's what you plan to use it for, then you stated correctly in the procedure, such as emp.esalary%TYPE.  If you change the defifinitin = table one to be esalart (for example) a certain NUMBER (which seems to be a good idea), then you will not have to change the code anything in the procedure, simply recompile the procedure.

    Question 2: Ok. Emp_salary procedure requires 2 arguments, if, therefore, here only one argument is passed for example salary only.

    What makes sense here?

    DECLARE

    1. s emp.esalary%TYPE;
    2. BEGIN
    3. emp_salary (123, s);
    4. END;
    5. /

    Thanks in advance, really I put t know this logic. Please explain a little more.

    because I learn pl/sql.

    Thank you.

    Where is that a single argument?

    In your original code, zero arguments were passed.

    In the anonymous block above, two arguments are passed:

    (1) the literal NUMBER 123.  The 1st formal argument, id, has the data type of emp.eid%TYPE, and emp.eid said a NUMBER, so 123 is a value to pass as the argument IN perfectly well.

    (2) the variable s.  The 2nd formal argument, salaries, is defined as emp.esalary%TYPE, and that's exactly how s is defined, so s is a perfectly fine variable pass as argument IN OUT.

Maybe you are looking for