PLSQL local variable assigned to a global package

I have a situation I want to declare a local variable and assign it to a global package variable.

such as:

xyz package_a.my_type := package_a.my_var

This creates a pointer to the global package or Oracle copy the global variable?  I need for oracle deal with this pointer.

Is there something wrong with that?

If there is no problem, I'll adopt this approach in 100s of procedures / packages.  I use oracle psp and create a large number of procedures.

Hello

Do you really need a separate variable xyz?  Why not just use package_a.my_var?

What is the big picture here?  What you trying to do?  Explain your business needs, and someone will help you to find a good way to respond.

What you've posted describes only one way that you thought to meet the requirement; We can guess the real requirement, and guess is not the best way to solve problems.

Tags: Database

Similar Questions

  • Global and Local variable... why it doesn't work?

    I'm confused.  .__.

    haha

    in any case, I wrote a class for my AS3 flash game.  It's that everything works well until what I called a method and got an error message.  After a bit of debugging, I was able to determine that my problem is when I try to assign a global variable (and the class property) to a local value, within the service itself, where the local variable.

    Here is part of my class:

    Sheet/public class extends Sprite {}

    private var number: int;

    private var sourceBitmap:Bitmap;

    private var sourceBitmapData:BitmapData;

    private var tileWidth:int;

    private var tileHeight:int;

    public void {sheet (number: int, tileWidth:int, tileHeight:int)}

    This.Number = number;

    this.tileWidth = tileWidth;

    this.tileHeight = tileWidth;

    displayImage();

    init();

    }

    public void displayImage() {}

    var imgLoader:Loader = new Loader();

    imgLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, done);

    If (number > = 100) {}

    imgLoader.load (new URLRequest("CharSprites/Female/"+number+".png"));

    }

    else {}

    imgLoader.load (new URLRequest("CharSprites/Male/"+number+".png"));

    }

    function done(evt:Event):void {}

    var myBit:Bitmap = Bitmap (imgLoader.content);

    addChild (myBit);

    this.sourceBitmapData = myBit.bitmapData;

    trace (this.sourceBitmapData);                                              ... sourceBitmapData are here

    }

    }

    private void init() {}

    trace (sourceBitmapData);                                                       sourceBitmapData is null here

    }

    }

    }

    I thought that I was able to assign the value of hard bitmapData to a property class (global variable) inside a function and have it exists outside.  I was wrong?

    How do I get around that?

    I know that I can write a function to return the Bitmap image, but as the function is called after the EventListener and depends on my charger, I don't know how to get around this problem.

    Thank you very much!

    Ya. My recommendation is to delay your init() function call until your image will load. So just move the call to init() in your service done or what needs the bitmapData to your function made move.

  • Use of global variable from local variables for business rules

    Someone at - it guidelines on the use of overall compared to the local variables for the business rules? I really don't like the world no matter what, so if someone has a compelling reason to use overall.

    If I use a local variable in the world, is there a single character required for the local variable or no problem with the help of the same name local var in all of business rules.

    Thank you

    Hello

    I bet you have a background in programming. Don't let the 'global' nomenclature lure you into thinking that "bad design - not encapsulated, etc" with regard to business rules. According to John, this area, variable overall are a vehicle to reduce maintenance.

    For example if you have a variable in which all its used BR called CurrMonth and its always the current month, it create once, maintain his assignment in one place and use it anywhere. In this case 'global' is in fact less.

    Kind regards
    Robb Salzmann

  • When you define a local variable Nvarchar2 inside a package, it is always NULL

    Hello

    I have a transactional package and inside, I declared a variable local nvarchar2, who then, after you have set it, go to another package which has as parameter. The strange thing is that when we created the local variable within the package it keep defined with the value 'NULL '. I tried using the definition of a fixed value, N «...» ', CAST, TO_NCHAR with the same result, the NULL value.

    Outside the package, trying the same code in a SQL Windows it works fine. Someone at - it to cope with this problem?

    Thanks for the help.

    Kind regards

    Andres. -.

    And where is the output indicating that "pin_calc_empr_ruc-online v_ruc2" winds being null?

    This code works for me:

    create or replace procedure test_nvarchar is
    v_ruc2 NVARCHAR2 (15);
    Start
    v_ruc2: = "123456789";
    test_nvarchar1 (p_nvarchar-online v_ruc2);
    end;
    /

    create or replace procedure test_nvarchar1 (p_nvarchar nvarchar2) is
    Start
    dbms_output.put_line (p_nvarchar);
    end;
    /

    exec test_nvarchar;

    123456789

  • global or local variables for speed?

    Hi, someone at - it an idea?

    is it faster to the use of global variables or properties (sprite) or the properties of the object?
    In other words is it smart to use as less globals possible or not (in terms of speed)? Or is not a difference.

    Thank you!

    www.SeriousGames.startpagina.nl

    In general, use the globals less possible, for various reasons (lighter &)
    more secure code, ability to reuse the names etc.).
    In terms of speed, local variables are faster in most of the languages
    (definition hierarchy, local verified first + entered less to research)
    (for). In Director however, no difference will be hardly noticeable, since
    the charge of executing line jargon leaves no room for sub or nearby to
    considerations of optimization nanoseconds.

    "www.gamesmaken.pagina.nl" wrote in message
    News:e8brrf$833$1@forums. Macromedia.com...
    > Hey, someone at - it an idea?
    >
    > it is faster to use global variables or properties (sprite) or an object
    > Properties?
    > In other words is smart to use as less globals possible or not (
    > terms
    (> speed)? Or is not a difference.
    >
    > Thank you!
    >
    > www.seriousgames.startpagina.nl
    >

  • Question PLSQL with variable compound column names

    Hello gentlemen,


    I'm new to PLSQL and I would like to display some values of columns, which are listed in the defined variable in dbms.output. I created under code, which I think it could work, but I guess that it is far from correct.


    DECLARE
    v_TEMP_QUERY VARCHAR2
    (1000 BYTE);
    v_TEMP_VALUE VARCHAR2
    (1000 BYTE) := 'FILTER_01, FILTER_02';

    BEGIN  
    FOR v_TEMP_LOOP IN
    (v_TEMP_QUERY := 'SELECT DISTINCT ' || v_TEMP_VALUE || ' FROM CW_PAGE_COMPONENT_TEMPL WHERE COMPONENT_TEMPL_ID = 10000034642';
    EXECUTE IMMEDIATE v_TEMP_QUERY; )
    LOOP
    DBMS_OUTPUT
    .PUT_LINE (v_TEMP_LOOP.v_TEMP_VALUE);
    END LOOP;
    END;


    Thanks in advance for your help and advice on this issue and sincerely,

    Sebastian

    OK, first of all, you're confused concepts here.

    cursor loop FOR waiting for a slider must be provided, and yet you offer an assignment statement and a command immediately execute for it.  Syntax is not valid.

    Secondly, you force the way of the use of dynamic SQL, which is generally bad practice.  This use of the SQL is rarely necessary, because it often indicates that functional requirements, database design, or design/code enforcement has not examined properly... the first question is "why don't you know the names of the columns to select.  With dynamic columns in your query, you need some kind of dynamic code to manage the results of the query, you will not be able to reference the columns directly by name.

    Thirdly, the DBMS_OUTPUT package doesn't make "blank".  This may sound pedantic, but it's a common mistake that people make.  There is no fill data dbms_output buffer.  It relies on call code/interface to read the contents of the output buffer and display it in fact (for example, in SQL * more you use SQL * Plus the command "set serveroutput we ' to achieve)

    In general, in a well designed where application you know your columns you would only make...

    Start
    I'm in (select distinct filter_01, filter_02 from vw_page_component_templ where component_templ_id = 10000034642)
    loop
    dbms_output.put_line (i.filter_01 | ',' | i.filter_o2);
    end loop;
    end;

    If the columns are dynamic, then you have three options:

    (1) create a ref and pass cursor who back, extracting the content for example

    sys_refcursor getRc function returns (in numbers, in colnames templ_id varchar2) is
    RC sys_refcursor;
    Start
    Open rc for ' select distinct ' | colnames |' from vw_page_component_templ where component_teml_id =: 1' using templ_id;
    return rc;
    end;

    In SQL * more:

    var r refcursor; -It creates a variable in SQL * Plus ref cursor type
    Start
    : r: = getRc (10000034642, ' filter_01, filter_02');
    end;
    /
    print r;      -It's SQL * command to retrieve the cursor open and display the results

    (2) create an object and collection of the right structure to receive the results and use execute immediate to select IN this structure.

    (I will not show in this way, because it is absolute rubbish, and if you know the columns that you want to create the object and the collection, then you should not use dynamic SQL in the first place)

    (3) use the DBMS_SQL package to run the query and retrieve the data from the column in position rather than example:

    create or replace procedure run_query (p_sql IN VARCHAR2) is
    v_v_val varchar2 (4000);
    number of v_n_val;
    date of v_d_val;
    number of v_ret;
    c number;
    number d;
    whole col_cnt;
    Boolean f;


    rec_tab dbms_sql.desc_tab;
    number of col_num;
    v_rowcount number: = 0;
    Start
    -create a slider
    c: = dbms_sql.open_cursor;
    -analyze the SQL statement in the cursor
    DBMS_SQL. Parse (c, p_sql, dbms_sql.native);
    -run the cursor
    d: = dbms_sql.execute (c);
    --
    -Describe the columns that are returned by the SQL statement
    DBMS_SQL. DESCRIBE_COLUMNS (c, col_cnt, rec_tab);
    --
    -Local variables Bind to return to the different columns according to their types
     
    dbms_output.put_line (' number of columns in the query: ' | col_cnt);
    1.col_cnt j
    loop
    case rec_tab (j) .col_type
    When 1 then dbms_sql.define_column (c, j, v_v_val, 2000); -Varchar2
    When 2 then dbms_sql.define_column (c, j, v_n_val);      -Number
    12. When can dbms_sql.define_column (c, j, v_d_val);     -Date
    on the other
    DBMS_SQL.define_column (c, j, v_v_val, 2000);  -Any other type of return as varchar2
    end case;
    end loop;
    --
    -Display columns are returned...
    dbms_output.put_line ('- Columns-');
    1.col_cnt j
    loop
    dbms_output.put_line (rec_tab (j) .col_name |') -' || case rec_tab (j) .col_type when 1 then 'VARCHAR2 '.
    When 2 then 'NUMBER '.
    When 12 can "DATE".
    "Otherwise, 'Other' end);
    end loop;
    dbms_output.put_line('---');
    --
    -This part generates the DATA
    loop
    -Retrieves a row of data using the cursor
    v_ret: = dbms_sql.fetch_rows (c);
    -Output when no more line
    When the output v_ret = 0;
    v_rowcount: = v_rowcount + 1;
    dbms_output.put_line (' line: ' | v_rowcount);
    dbms_output.put_line('---');
    -Extract the value of each column of the row
    1.col_cnt j
    loop
    -Fetch each column to the correct data type according to the description of the column
    case rec_tab (j) .col_type
    When 1 then dbms_sql.column_value (c, j, v_v_val);
    dbms_output.put_line (rec_tab (j) .col_name |': ' | v_v_val);
    When 2 then dbms_sql.column_value (c, j, v_n_val);
    dbms_output.put_line (rec_tab (j) .col_name |': ' | v_n_val);
    12. When can dbms_sql.column_value (c, j, v_d_val);
    dbms_output.put_line (rec_tab (j) .col_name |': ' | to_char (v_d_val,' DD/MM/YYYY HH24:MI:SS'));))
    on the other
    DBMS_SQL.column_value (c, j, v_v_val);
    dbms_output.put_line (rec_tab (j) .col_name |': ' | v_v_val);
    end case;
    end loop;
    dbms_output.put_line('---');
    end loop;
    --
    -Close the cursor, now we're done with it
    DBMS_SQL.close_cursor (c);
    END;
    /

    SQL > run_query exec ('select ename, empno, sal, deptno from emp where deptno = 10');
    Number of columns in the query: 4
    -Columns-
    EMPNO - NUMBER
    ENAME - VARCHAR2
    DEPTNO - NUMBER
    SAL - NUMBER
    -------------
    Line: 1
    --------------
    EMPNO: 7782
    ENAME: CLARK
    DEPTNO: 10
    SAL: 2450
    --------------
    Row: 2
    --------------
    EMPNO: 7839
    ENAME: KING
    DEPTNO: 10
    SAL: 5000
    --------------
    Row: 3
    --------------
    EMPNO: 7934
    ENAME: MILLER
    DEPTNO: 10
    SAL: 1300
    --------------

    PL/SQL procedure successfully completed.

    As you can see with this method, you can extract the column details, including the name and data etc. types and then extract each line and extract the data from the column position.

    Of course, this is quite complex, so it would be a last resort.

  • Simulation & Control with local variables

    Why should I use a local variable in a loop of simulation, but not in a Subvi simulation?

    Local variables will only work in a Subvi are those that relate to controls or indicators located in the Sub - VI.  If you need to pass data between different from the Subvi, so you have several choices.

    1. common variables, as you said.

    2. global variables, as you said.

    3. pass the data in or out through the pane of the connector of the Subvi.

    4. functional Motors Global Variables/Action.

    5 lines of

    6. the references to the controls in the VI main so that they be used with nodes of property in the Sub - VI

  • By the way the local variable to sous-suite

    I have a sequence that sets a local variable, Locals.LowPassFreqGhz = 1,800.

    Then it executes 5 subsequences.

    The Local is set to a new value and then the same 5 subsequences are re-run.

    Now I have new model numbers where the pair is different and will soon have models where there are groups of 4 frequencies instead of two. That is why I would like to put the 5 seqs in a following and pass the freq based on a select statement. In my limited understanding and knowledge of TestStand, I think that the sous-suite would have its own Local.variables. How should I move this local to a sous-suite, convert a File.global?

    Thank you

    JVH

    The subsequence could have its own inhabitants, but you must use the parameters to pass to residents for the most part in the subsequence. See Chapter 1 of the section and the reference of TestStand sequences on manual.

  • By the way the local variable to a default module

    I use LV 8.6 and TS 4.1.

    I made a custom step Type where I specified a default Module to run and I created a substep VI Edit that the user can move the entry to the default maodule.

    If I pass a value it is working properly. So, I want to pass a local variable, so I have a button in the edict Vi, which displays the property browser dialog box I get the name of the selected local variable. How can I pass the local variable to the default input module? (The value of the local variable is installed during the execution of the sequence).

    Thank you.

    Max.

    Hello

    Yes, I see what your problem is.

    If I am proving a means of suppling a variable as a fixed value or a search string then in my step type I organize the property as a container that contains two properties, one to hold the value and one the search string.

    If you don't have what it takes to change your step types, then you must indicate another to contain this search string, IE a local / fileglobal / global station. Or store it in the memory of your labview. None of them are ideal, as it is best to keep the properties of the step in the step.

    Concerning

    Ray Farmer

  • stage of statement do not write to the local variable

    I have a 2 local variables that are custom data, type, a container with 2 numbers u64, I am trying to assign numbers of these variables by using the stage of the statement, but variables do not change, here's my statement:

    Locals.excelStartColRow.Column is 1ui64,
    Locals.excelEndColRow.Column is 3ui64

    I don't get any errors, but the values not updated so the VI I use these variables by fails, any ideas?

    == is a comparison.  You want to set a value, that is =

  • Structure of the event to local variable

    Hello

    I use a control structure and the table event to detect changes in the value of table.

    At the beginning, I have made changes in the table (for execution) and structure of the detected event.

    The next step was adding a parallel while loop in which I write for the control array (using the local variable).

    During execution the layout of the table changed indeed, but the structure of the event is a not detect it.

    I have attached 2 digits: 1) loop of the structure of the event 2) the parallel loop.

    It is possible works in such a way?

    How can I make the structure of the event to detect changes in the software in the control array?

    Thank you

    Leonid

    Changes made via a local variable are not the user events, so the structure of the event will not detect by definition. You must write to the command by using the property node "Value (follow the signs).

    That said, your small watch of your code starts to raise red flags in my mind with the use of variable and global variable local. While it's not bad, their abuse can lead to the poor programming architecture and race conditions. Perhaps you should consider downloading your VI any kind can someone take a look and offer suggestions on improving it.

  • Local variables of logging into a database

    Hello!

    I followed the instructions in 'Logging again USE property to a database in TestStand' to be able to log my local variable under the Options/columns/parameters/Expression database. My problem is that I can't access my variable in the Expression field. I can access my global variables, but I want to open a local variable session as well. What I am doing wrong?

    Thank you, Nina

    Nina,

    local variables are valid in their "zone of validity". If the local variable is part of your MainSequence, this area of validity remains as soon as you leave the MainSequence and regain the ProcessModel. It is not surprising that you can't access this variable. You can either pass the value of the variable to the databaselogging (which may require changes in the ProcessModel) or you switch be drop overall.

    The third option, which is probably the best, is to pass the variable from the stage (where the value is written to the variable) to the ResultList using AdditionalResults (TS 4.1 and higher) or Step.ReportText...

    hope this helps,

    Norbert

  • Hi I need to read the data in vaiables local file delimited using the utl_file package «»


    Hi all

    I want to read data from a .csv file which is ',' delimited in a local variable that is different from a plsql stored procedure so that I can insert into the table.

    I use this way to read data...

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

    -get the position of ',' (comma) in csv file

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

    l_c1: = INSTR (l_in_file, ',', 1, 1);

    l_c2: = INSTR (l_in_file, ',', 1, 2);

    l_c3: = INSTR (l_in_file, ',', 1, 3);

    l_c4: = INSTR (l_in_file, ',', 1, 4);

    l_c5: = INSTR (l_in_file, ',', 1, 5);

    l_c6: = INSTR (l_in_file, ',', 1, 6);

    l_c7: = INSTR (l_in_file, ',', 1, 7);

    l_c8: = INSTR (l_in_file, ',', 1, 8);

    l_c9: = INSTR (l_in_file, ',', 1, 9);

    l_c10: = INSTR (l_in_file, ',', 1, 10);

    --------------------------------------------------------------------------------
    -pull data into local variables
    --------------------------------------------------------------------------------
    l_0003: = SUBSTR (l_in_file, l_c2 + 1, l_c3-(l_c2 + 1));

    l_0004: = SUBSTR (l_in_file, l_c3 + 1, l_c4-(l_c3 + 1));

    l_0005: = SUBSTR (l_in_file, l_c4 + 1, l_c5-(l_c4 + 1));

    l_0006: = SUBSTR (l_in_file, l_c5 + 1, l_c6-(l_c5 + 1));

    l_0007: = SUBSTR (l_in_file, l_c6 + 1, l_c7-(l_c6 + 1));
    l_0007: = To_Char (To_Date (l_bdate_0007, "mm/dd/yyyy '"), 'yyyy-mm-dd');

    l_0008: = SUBSTR (l_in_file, l_c7 + 1, l_c8-(l_c7 + 1));

    l_0009: = SUBSTR (l_in_file, l_c8 + 1, l_c9-(l_c8 + 1));

    l_0016: = SUBSTR (l_in_file, l_c9 + 1, l_c10-(l_c9 + 1));
    l_0016: = To_Char (To_Date (l_eff_dt_0016, "mm/dd/yyyy '"), 'yyyy-mm-dd');

    I need to find an alternative way to reduce the length of the Code.

    Any Suggestion please!

    Hello

    Please see the query below...

    SELECT RTRIM (REGEXP_SUBSTR ('John, 100, Manager, 26000', ' [^,] *,', 1, 1), ',') AS part_1

    , RTRIM (REGEXP_SUBSTR ('John, 100, Manager, 26000', ' [^,] *,', 1, 2), ',') AS part_2

    , RTRIM (REGEXP_SUBSTR ('John, 100, Manager, 26000', ' [^,] *,', 1, 3), ',') AS part_3

    , LTRIM (REGEXP_SUBSTR ('John, 100, Manager, 26000', ', [^,] *', 1, 3), ',') AS part_4

    DOUBLE;

  • How to determine the number of rows in the database and save the result to a local variable?

    Hello

    I'm a newbie in the use of TestStand, databases and SQL, and now I've met difficulties. I use TestStand 2014 (32 bit).

    I have a need to know the number of rows in a database and save that number in a local variable. I tried to practice using the database of the Types of step provided with TS. I tried to use the following in a SQL statement:

    Locals.NumberOfRows = ("SELECT COUNT (*) FROM TEST_TABLE")

    It returns an error: specified value is not the expected type. My goal is possible in this way, or I'm doing this completely wrong?

    -RautSa

    Thank you for your response, Norbert. I have a database of who wins new values at random, and sometimes I need the exact number of rows in this table.

    I managed to achieve my goal by using the SQL statement: "SELECT COUNT (*) as Rowcount OF TEST_TABLE", followed by a data GET operation, which records that number of lines in a local variable.

    -RautSa

  • In collaboration with a no engine in the types of different scheme (local variables).

    The program below is used to control a motor with the NI 9401. However, it has been designed to work in two ways, when you push the buttom "adelante" or "ago" he turns in one direction or another, but if you press 'Start' it begin to move in a particular way (which I mentioned) and if you press again the same ('Start'), we need to stop (this way you can push the door "adelante" or "ago" If you want to). The problem I have is with the "local variables", because when the 'Start' button is the I three while loop and I Don t know how said it stops when the 'Start' button has been pushed and the same when the 'Start' button is pushed, and I press the 'Start' button to stop it. I have a mess with the function of local variables.

    I know it's a little complicated to understand by Word, I tried to explain more clearly.  I hope you can help me.

    Hello matt198717,

    Yes, I think that the problem was trying to use local variables in parallel loops. I use this property at the time of the node and it works!.

Maybe you are looking for