To compile views with procedures
I want to compile a list of views with a procedures or functions what can I do ?
In the future be sure when you post to state version number to three decimal places and the reason for asking the question.
Had you done so you might have been quickly referred to UTLRP.SQL or the built in package UTL_RECOMP.
When looking for dependencies ... join with DBA_DEPENDENCIES.
Similar Messages
-
How can I compile all functions, procedures and packages with a script?
I need to compile all functions, procedures and packages of 5 schemas (users) with a script.
How can I do it?
Thanks!you can create a script to select all invalid objects in those schemas Since Oracle 8 introduced NDS this approach has struck me as a trifle old fashioned. It's much simpler to loop round the query in PL/SQL and use EXECUTE IMMEDIATE to fire off the DDL statements. No scripts, no muss, no fuss.
Having said that, the problem with this approach and also with using DBMS_UTILITY.COMPILE_SCHEMA is that they do not compile all the invalid objects in dependency order. This may result in programs being invalidated by the subsequent compilation of dependencies. This is due to the introduction of Java into the database.
The UTLRP script is much better, because it (usually) avoids cyclic references. But you still may need to run it more than once.
In general it is better to avoid sledgehammer recompilations (like DBMS_UTILITY.COMPILE_SCHEMA, which starts by invalidating all the objects). If we have twenty invalid objects, nineteen of which are dependencies of the twentieth, we actually only need to recompile the master object, as recompiling it will trigger the recompilation of all the others.
Cheers, APC -
it's posible create a view with parameters?
i want to create a view and pass it parameters, in the same way when i create a procedure or function.
i never have seen it, but i would like to know if that's posible
thanksYou cannot create a view with parameters. The only way is to use a stored proc to dynamically create the sql statement. The substitution variable approach does not work. SQL*Plus will prompt for the value of the variable at compile time (i.e. when you create the view) and use the value you provide in the view's query.
SQL> create or replace view jws_test_v as
2 select * from jws_test where flag = '&flg'
3 /
Enter value for flg: AA
old 2: select * from jws_test where flag = '&flg'
new 2: select * from jws_test where flag = 'AA'
View created.
SQL> select * from jws_test_v
2 /
no rows selected
SQL> select text from user_views where view_name = 'JWS_TEST_V'
2 /
TEXT
select "LEV1","LEV2","LEV3","LEV4","LEV5","LEV6","FC","FLAG","ONAFT","ONAPT","CU
PEFT","CUPEPT" from jws_test where flag = 'AA'This makes sense, since substitution vartiables are a sqlplus construct, not a sql or Oracle construct. A view constructed in this way would not be callable from anywhere other than sqlplus. -
Compiling packages or procedures
Hello,
I am compiling a package , procedures etc. The query comes back with invalids. I have show error. How do I retrieve more detail information about why the package/procedure/view are invalid?
DECLARE
v_status VARCHAR2(10);
v_cmd VARCHAR2(150);
Cursor rw_objects
IS
Select object_name,object_type,status,owner
From dba_objects
WHERE UPPER(object_type) IN ('VIEW','PROCEDURE','FUNCTION','PACKAGE', 'PACKAGE BODY','TRIGGER','SYNONYM')
AND owner = UPPER('&&DW_SCHEMA')
AND status = 'INVALID';
BEGIN
FOR t IN rw_objects
LOOP
IF t.object_type ; IN ('SYNONYM','VIEW','TRIGGER','PROCEDURE','FUNCTION') THEN
v_cmd := 'ALTER ' || t.object_type || ' ' || t.owner||'.'||t.object_name || ' COMPILE ';
execute immediate v_cmd;
ELSIF
t.object_type ; = ('PACKAGE') THEN
v_cmd := 'ALTER PACKAGE ' || ' ' || t.owner||'.'||t.object_name || ' COMPILE PACKAGE';
execute immediate v_cmd;
ELSIF
t.object_type ; = ('PACKAGE BODY') THEN
v_cmd := 'ALTER PACKAGE ' || ' ' || t.owner||'.'||t.object_name || ' COMPILE BODY';
execute immediate v_cmd;
dbms_output.put_line( rpad( t.object_type || ' ' || t.object_name, 50, ' ' ) || ' VALID ');
END IF;
END LOOP;
END;
SELECT object_name, object_type, status
FROM dba_objects
WHERE STATUS = 'INVALID'
AND UPPER(object_type) IN ('VIEW','PROCEDURE','FUNCTION','PACKAGE', 'PACKAGE BODY','TRIGGER','SYNONYM')
AND owner = UPPER('&&DW_SCHEMA')
ORDER by object_type;
show errors; Here are the results.
OBJECT_NAME OBJECT_TYPE STATUS
PM206 PACKAGE BODY INVALID
DW_BE_DFACT_TB_REFRESH_HANDLER PACKAGE BODY INVALID
DW_BE_DFACT_TB_INITIAL_HANDLER PACKAGE BODY INVALID
CHART_HANDLER PACKAGE BODY INVALID
DW_CRS_HANDLER PACKAGE BODY INVALID
DELETE_UPDATE_PROC PROCEDURE INVALID
DW_CBS_PROC PROCEDURE INVALID
DW_GL_DFACT_VW VIEW INVALID
8 rows selected.
No errors.too bad COPY & PASTE are broken for you!
1 DECLARE
2 v_status VARCHAR2(10);
3 v_cmd VARCHAR2(150);
4 Cursor rw_objects
5 IS
6 Select object_name,object_type,status,owner
7 From dba_objects
8 WHERE UPPER(object_type) IN ('VIEW','PROCEDURE','FUNCTION','PACKAGE', 'PACKAGE BODY','TRIGGER','SYNONYM')
9 AND owner = UPPER('&&DW_SCHEMA')
10 AND status = 'INVALID';
11 BEGIN
12 FOR t IN rw_objects
13 LOOP
14 IF t.object_type ; IN ('SYNONYM','VIEW','TRIGGER','PROCEDURE','FUNCTION') THEN
15 v_cmd := 'ALTER ' || t.object_type || ' ' || t.owner||'.'||t.object_name || ' COMPILE ';
16 execute immediate v_cmd;
17 ELSIF
18 t.object_type ; = ('PACKAGE') THEN
19 v_cmd := 'ALTER PACKAGE ' || ' ' || t.owner||'.'||t.object_name || ' COMPILE PACKAGE';
20 execute immediate v_cmd;
21 ELSIF
22 t.object_type ; = ('PACKAGE BODY') THEN
23 v_cmd := 'ALTER PACKAGE ' || ' ' || t.owner||'.'||t.object_name || ' COMPILE BODY';
24 execute immediate v_cmd;
25 dbms_output.put_line( rpad( t.object_type || ' ' || t.object_name, 50, ' ' ) || ' VALID ');
26 END IF;
27 END LOOP;
28* END;
29 /
old 9: AND owner = UPPER('&&DW_SCHEMA')
new 9: AND owner = UPPER(' USER1')
IF t.object_type ; IN ('SYNONYM','VIEW','TRIGGER','PROCEDURE','FUNCTION') THEN
ERROR at line 14:
ORA-06550: line 14, column 49:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( * @ % & = - + < / > at in is mod remainder not rem then
<an exponent (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset member submultiset
The symbol ";" was ignored.
ORA-06550: line 18, column 48:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( * @ % & = - + < / > at in is mod remainder not rem then
<an exponent (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset
ORA-06550: line 22, column 49:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( * @ % & = - + < / > at in is mod remainder not rem then
<an exponent (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset
SQL> -
Hi,
I hav created a procedure to create a daily view with 62 tables somthing like this
Create or replace Procedure View_Cre as
ex_command LONG:= null;
ex1_command LONG:= null;
ex2_command LONG:= null;
ex3_command LONG:= null;
begin
ex1_command :='CREATE VIEW VIEW_NAME AS '||chr(10)||'Select * from TAB_'||to_char(sysdate,'DD_MON_YY');
---dbms_output.put_line(ex1_command);
for idx in 1..61 loop
ex_command := ''||chr(10)||' union all'||chr(10)||' Select * from TAB_'||to_char(sysdate-idx,'DD_MON_YY');
--execute immediate ex_command;
--- dbms_output.put_line(ex_command);
ex2_command:=ex1_command||ex_command;
ex1_command:=' ';
ex3_command:= trim(ex2_command);
--dbms_output.put_line(ex2_command);
execute immediate ex3_command;
end loop;
end View_Cre;
However its not "*" there in select statement it contains large string like 30000 chars.
dbms_output gives me correct output but exec immediate gives invalide sql statement,
the output from dbms_output.put_line(ex2_command) creates view without errors when pasted on sql prompt.
Please help.
Thanks in advance.May be like this ..
declare
ex_command LONG := null;
ex1_command LONG := null;
ex2_command LONG := null;
ex3_command LONG := null;
begin
ex1_command := 'CREATE FORCE VIEW VIEW_NAME AS ' || chr(10) ||
'Select * from TAB_' || to_char(sysdate, 'DD_MON_YY');
---dbms_output.put_line(ex1_command);
for idx in 1 .. 61 loop
ex_command := '' || chr(10) || ' union all' || chr(10) ||
' Select * from TAB_' ||
to_char(sysdate - idx, 'DD_MON_YY');
--execute immediate ex_command;
--- dbms_output.put_line(ex_command);
ex2_command := ex1_command || ex_command;
ex1_command := ' ';
ex3_command := ex3_command || trim(ex2_command);
--dbms_output.put_line(ex2_command);
--dbms_output.put_line(ex3_command);
--dbms_output.put_line(ex3_command);
end loop;
--dbms_output.put_line(ex3_command);
execute immediate ex3_command;
end;Although, I must say that it is not a good design. You may want to look at your requirement again and see whether it is really required to create a view with dynamic SQL.
Also, you may want to look at the short comings of using LONG in PL/SQL and supported data type in EXECUTE IMMEDIATE with length restriction. -
Insert order by records into a view with a instead of trigger
Hi all,
I have this DML query:
INSERT INTO table_view t (a,
b,
c,
d,
e)
SELECT a,
b,
c,
d,
e
FROM table_name
ORDER BY dtable_view is a view with an INSTEAD OF trigger and table_name is a table with my records to be inserted.
I need the ORDER BY clause because in my trigger i call a procedure who treat each record and insert into a table, used in the view. I need to garantee these order.
If i put an other SELECT statement outside, like this:
INSERT INTO table_view t (a,
b,
c,
d,
e)
SELECT a,
b,
c,
d,
e
FROM table_name
ORDER BY dIt works. But I can put these new SELECT because these query is created automatic by Oracle Data Integrator.
What I'm asking you is if there any solution to this problem without changing anything in the Oracle Data Integrator. Or, in other words, if there is any simple solution other than to add a new SELECT statement.
Thanks in advance,
Regards.Sorry... copy+paste error :)
INSERT INTO table_view t (a,
b,
c,
d,
e)
SELECT *
FROM ( SELECT a,
b,
c,
d,
e
FROM table_name
ORDER BY d)I need to insert him by a D column order, because my trigger needs to validate each record and insert him. I have some restrictions. For example, my records are:
2 1 2006 M
1 2 2007 M
1 3 2007 S 2007
1 2 2007 S 2007
2 1 2009 S
2 1 2009 S
I want to insert the 'M' records first and then the 'S' records because the 'S' records only makes sense in target table is exists 'M' records
Regards,
Filipe Almeida -
Is it possible to create a spatial view with paramete?
Is it possible to create a view with parameter like following:
SELECT GEOM FROM INTERSTATES WHERE MDSYS.SDO_FILTER(GEOM, MDSYS.SDO_GEOMETRY(2003, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(?, ?, ?, ?)), 'querytype=WINDOW') = 'TRUE'
so that I can specify ???? at run time.
If not, is there a way to create a view that perform variable window query?You may want to look at application contexts, that way you may have code something like this:
create or replace context gis_ctx using gis_params ;
create or replace package gis_params
as
procedure set_bounds( minx in number, miny in number, maxx in number,maxy in number );
end;
create or replace package body gis_params
as
procedure set_bounds( minx in number, miny in number, maxx in number,maxy in number )
is
begin
dbms_session.set_context( 'gis_ctx', 'minx', minx);
dbms_session.set_context( 'gis_ctx', 'miny', miny);
dbms_session.set_context( 'gis_ctx', 'maxx', maxx);
dbms_session.set_context( 'gis_ctx', 'maxy', maxy);
end ;
end ;
To use this method you´ll have to execute
gis_params.set_bounds(-3,40,-2.9,40.1) ;
before doing the select.
SELECT GEOM
FROM INTERSTATES
WHERE MDSYS.SDO_FILTER(GEOM,
MDSYS.SDO_GEOMETRY(2003,
8307,
NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3),
MDSYS.SDO_ORDINATE_ARRAY(sys_context ('gis_ctx', 'minx'),
sys_context ('gis_ctx', 'miny'),
sys_context ('gis_ctx', 'maxx'),
sys_context ('gis_ctx', 'maxy'))),
'querytype=WINDOW') = 'TRUE' ;
I f you are in a web environment, read about GLOBAL CONTEXT ACCESSED GLOBALLY .
Regards, Nico. -
Need to add a new View With ITS Link in it
Hello All ,
I am Working on SAP CRM 7.0 in Marketing here in marketing We do have an Account Work Center here in account we have three views Search , Create and Report .I want to add a new view with name "XYZ" in this view i want have Logical links . This logical link is ITS (Transaction Launcher ). Can any one Tell me the Procedure for this . Thanks in Advance
regards,
KiranPosanapalliSolved by myself
-
"Refresh after" insert fails for DB-View with INSTEAD OF Triggers
Hi,
I have a database view with INSTEAD OF triggers defined for INSERT, UPDATE, DELETE.
For some EO attributes the refresh after insert and update is defined.
Posting to database fails.
According to Database 9.2 Manual and a previous thread (BC4J and Updatable Views the RETURNING clause is not allowed for database views with INSTEAD OF triggers.
Is there a workaround so the refresh after is done, but without the RETURNING feature?
I only need to refresh some values. The PK i can set in the create method of the EO so refresh via a additional SELECT would be possible.
If not Feature Request:
Add the possibility to do the "refresh after ..." with a 2nd SELECT using the PK instead of using the RETURNING clause.
Of course then it is not possible to set the PK in the database trigger. PK has to be set in the create method of the EO.
Thanks,
Markus
GEMS ITHi Markus,
Turning on the stack trace (-Djbo.debugout put=Console - in the Project/runner) did help and I should have done it sooner. Turns out that when I constructed my EO based upon a database view - I should have left out the PKs of the base tables.
In my case, I am using an "Instead Of Trigger" to populate a multi-table arrangement (parent - child - grandChild - greatGrandChild relationship) where all base tables are using dbSequence/dbTriggers.
Final analysis - I would like to see BC4J handle this situation. I do not want to use View-Links and I should * not * have to resort to stored procedures and BC4J/doDML. If I construct a DB View this is participating in an parent - child - grandChild - greatGrandChild relationship that are using dbSequence/dbTriggers, then BC4J should be smart enough to construct VO knowing that I want to do insert, update, delete, selects - based upon this structure.
Thanks Markus,
Bill G... -
ADF BC: Creating updatable VO based upon DB View with "instead of" trigger
Hello all,
I have got an interesting issue. I have an Oracle DB view that is used to hide some complexity in the underlying DB design (it does some unions). This view is updatable because we have created an "instead of" update trigger to update the correct table when a row is updated. This is working fine in SQL.
Next, we have created an ADF Entity object based upon the view, specifying an appropriate PK for the DB View. Then, we have created an updatable VO based upon the EO. All well and good so far. The issue we have is in trying to commit changes to the DB - because the ADF BC framework is trying to lock the row to update (using SELECT ... FOR UPDATE), it's not working because of ORA-02014 - cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
This leads me to thinking about overridding doSelect() on the EO as hinted here http://radio.weblogs.com/0118231/stories/2005/07/28/differenceBetweenViewObjectSelectAndEntityDoselectMethod.html
As a temporary test, we have over-ridden the EO's doSelect to call super.doSelect(false) and it does work, although we will have lost update issues as detailed in Steve's article.
My questions:
1). Is overriding doSelect() the correct thing here? Perhaps there is a better way of handling this problem? I do have a base EO class from which all of the EO's extend, so adding this behavior should be straightforward.
2). Does anyone have example doSelect implementation? I am thinking of overriding doSelect for my EO and calling super.doSelect (lock=false), but then I need to deal with some possible exceptions, no?
Kind regards,
JohnHi John,
I have exactly the same issue as you experienced back in January. I have a complex data modelling requirement which requires the need to pivot rows into columns using ROW_NUMBER() and PARTITION clauses. To hide the complexity from the middle tier, I have created a database view and appropriate INSTEAD OF triggers and mapped my EO to the view. I have overriden the lock() method on the EO implementation class (to avoid ORA-02014) and would like to try the same solution you used with the pl/sql call to lock the record.
My question is, how did you manage the release of the lock if the transaction was not rolled back or committed by your application i.e. if the user closed the browser for instance.
In my naivity, I would like to think that the BC4J framework would release any locks for the database session when it found the servlet session to be terminated however my concern is that the lock would persist and cause complications.
Any assistance greatly appreciated (if you would be willing to supply your lock() method and pl/sql procedure logic I would be even more grateful!).
Many thanks,
Dave
London -
How to restore views and procedures after drop user command?
How to restore views and procedures after drop user command?
We have 817 EE on NT and one developer created a lot of procedures, functions and vews. DB was not backuped and archived and export has not been done - our fault and we understand it. Sorry for this.
Ok, now the story: another developer dropped this db user and we lost everything: procedures, functions and vews. The new user with trhe same name was created and new schema was imported in this user, but all old objects are lost. We don't have export and backup and archive log files.
Question: may we can restore this lost stuff from some other sources. We are looking for lost codes, not data. May be we can use redo logs or shared pool or any other things. Any idea will be appreciated.
Thanks.
Victor
[email protected]The switch has occurred after user was dropped, the data has been overwritten and there is be no way to use redo log files.
I would like to explore another opportunity. Is possible to use Shared Pool or any Data Dictionary internal information to restore texts of the lost SQL and PL/SQL scripts executed in this DB before user was dropped? Not too many scripts are executed in this DB and the lost ones may still be in stack. I remember that Shared Pool (cash) should keep last executed scripts in order to improve performance. They probably are kept in some special format. Can we restore these scripts? Of course they also might be pushed out by Import that had been done after user was dropped.
Thanks for your help,
Victor -
Need help in creating a view with Encryption for hiding the code used by the multiple users
Hi,
Can anyone help me out in creating view with encryption data to hide the stored procedure logic with other users.
I have create a stored procedure with encryted view but while running this manually temporary views are getting created, therefore the problem is if there are 500 entries then 500 temp views will get created.
Any solution to aviod creating temporary views, please refer my code below
USE [etl_validation]
GO
/****** Object: StoredProcedure [dbo].[Pr_DBAccess_mod] Script Date: 05/23/2014 12:53:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Pr_DBAccess_mod](@ETL_CONFIG_ID INT)
AS
BEGIN
DECLARE @openquery NVARCHAR(MAX),
@DATABASENAME NVARCHAR(100),
@HIERNAME NVARCHAR(100),
@TABLENAME NVARCHAR(100),
@SERVERTYPE NVARCHAR(100),
@SERVERNAME NVARCHAR(100),
@USERNAME NVARCHAR(100),
@PASSWORD NVARCHAR(100),
@ETL_CONFIG_IDN NVARCHAR(100);
SET @ETL_CONFIG_IDN=CAST(@ETL_CONFIG_ID AS NVARCHAR);
SET @TABLENAME='Department';
SET @SERVERTYPE='SQL';
SET @SERVERNAME ='192.168.31.176';
SET @DATABASENAME='AdventureWorks2008R2';
SET @HIERNAME = 'HumanResources';
IF @SERVERTYPE='SQL'
BEGIN
/*SET @openquery= 'SELECT * INTO ##TestTable
FROM OPENROWSET(''SQLNCLI'',''server=192.168.31.176;Trusted_Connection=yes;'','''+@query+''')'
SET @openquery= 'CREATE VIEW '+@TABLENAME+@ETL_CONFIG_IDN+
' WITH ENCRYPTION AS SELECT * FROM OPENROWSET(''SQLNCLI'',''SERVER='+@SERVERNAME+';TRUSTED_CONNECTION=YES;'',''SELECT * FROM '+@DATABASENAME+'.'+@HIERNAME+'.'+@TABLENAME+''')'
SELECT @openquery
END
EXECUTE sp_executesql @openquery
ENDHi aa_rif,
According to your description and code message, you execute the sp_executesql statement in your stored procedure, it indeed create many views with a tablename and ETL_CONFIG_ID named. If you need not to use these temporary views, you can delete them when
it contains the tablename in one view name.
In addition, if you want to create view with encryption in SQL Server, you can use directly the ENCRYPTION option to encrypt the T-SQL of a view in create view commands, for more information, see:
http://learnsqlserver.in/4/Create-View-With-Encryption.aspx. if not, you can descript more detail about requriements, so that more forum members can involve into the thread and help you
out.
Regards,
Sofiya Li
Sofiya Li
TechNet Community Support -
Compiled Views not showing up in the Web Client
Hi everyone,
I'm new to Siebel Tools. I did a simple exercise of adding an existing view to an existing screen in Siebel Public Sector. I locked the project and added the view to the screen. I did a full compile afterwards (compiled all the objects).
I ran Siebel Web Client using the SRF file that was generated (from the compilation process) and I connected to our Server database. I went to user preferences to activate the view with my login user but I could not find the view anywhere.
The same thing happened when I created a new view and added it to an existing screen. I compiled and launched the web client. I went the Administration - Application > View to associate the view with a new responsibility but the view doesn't appear in view picklist.
To test my sanity. I copied the SRF file to another machine into the Siebel Tools/Objects/ENU folder and ran Siebel Tools. To my dismay, I couldn't see the views that I just created. I thought I compiled the views (in fact I compiled everything!). Turns out that everything I just created doesn't seem to make it to the SRF file.
Am I missing a step somewhere here? Any expert help would be valuable!
Thanks,
BernhardHi,
The new view what you have created wont appear in the View Pick Applet. That doesnt means the view is not available in the compiled SRF. You can just copy the view name and create a new record in the View applet and paste the view name. The View name will get stored in the Administration - Views.
Then add the responsibility of the user you wish to appear the view for the users. Then drilldown on the added responsibility and do a "Clear Cache" there. Log out and login again to verify the view in the appropriate screen.
Regards,
Joseph -
How to create a view with parameters; read the documentation but nothing!
Hello!
I'm new to the Oracle world but together with my coworkers we need to very quickly study Oracle to figure out whether we'll add Oracle to our list of supported databases or not.
Question: How do I create a view with parameters?
I've read the documentation but I could not find this! I found the sql syntax to create a view but no parameters whatsoever...
I have found on the web some very complicated way of doing this, but doesn't Oracle support Views with parameters?
The goal here is to return a recordset, don't forget, so,please don't speak about stored procedures unless you are going to tell me how to get a recordset out of a stored procedure! ;)
Thanks for all your help and attention!
Jorge C.You can set up a parameterized view via context as follows:
1. Set up a procedure to set your context values:
create or replace procedure p_set_context (p_context IN VARCHAR2,p_param_name IN VARCHAR2,p_value IN VARCHAR2)
as
BEGIN
sys.dbms_session.set_context(p_context,p_param_name,p_value);
END;
2. Create your context using the procedure you just created
create or replace context my_ctx using p_set_context
3. This is the test table I'll use
create table my_table(col1 number)
and populate it:
begin
for v_index in 1..10
loop
insert into my_table values(v_index);
end loop;
end;
and the view that will be parameterised
create or replace view v_my_table as select col1 from my_table where col1 between sys_context('my_ctx','start_range') and sys_context('my_ctx','end_range')
4. Now set the parameters using the procedure above.
begin
p_set_context('my_ctx','start_range','1');
p_set_context('my_ctx','end_range','5');
end;
5. Selecting from my_table will give you 1 to 10 (no surprise there :-) )
selectng from v_my_table will give you 1 to 5
You can use the context to set formats etc using the same principle. A common gotcha to watch for is trying to set the context directly using DBMS_SESSION.SET_CONTEXT instead of creating a procedure. This belongs to SYS and SYS won't have the privileges to set your context so you get an insufficient privileges result leading to much headscratching and unnecessary grants (at least that's my understanding of it).
Sorry Jorge, as you're new to Oracle I should also have pointed out for completeness sake, that you can change the parameters at any time through recalling the p_set_context, for example, following on from above, after your "select * from v_my_table" and seeing 1 to 5, you could then do
begin
p_set_context('my_ctx','start_range','3');
end;
and when you requery 'Select * from v_my_table' you will now see rows 3 to 5.
Bit of a simplistic example, but you can see how easy it is. :-)
Message was edited by:
ian512 -
Create Materialized View with Compress clause
Hi,
Oracle 9i R2 has an option to use compress clause while creating table, materialized view or etc. Just wanted some help on tips to be followed during creating a materilized view with compress clause and refresh the same.do i need to follow any special procedures ??? Any help greatly appreciated.
Thanks,
Chak.I read in the book that while inserting user /+append+/ otherwise table with compress will fail. I am doing materialized view refresh with fast mode and data will be inserted as per logs residing at master site.. while inserting into materialized view, do i have to setup specially since fast refresh is going to insert data into existing materialized view.
Thanks,
Maybe you are looking for
-
No longer able to build ejb using appc (WLS 8.1)
I'm in the process of re-writing some build files to make use of the new appc compiler, but I started to get a rather confusing error. Although the EJB builds (using ejbc) and deploys fine on WLS 7, when I try to build using appc I get a slew of mess
-
Get Selection options from one view to another view
Hi Experts, I am using two views, first view it shows basic list of records based on selection options criteria , here I used component WDR_SELECT_OPTIONS . Then if we click on any record in first view then it opens popup window with record relevant
-
Can't use CAN2 on PXI-8513/2
I am using NI-XNET CAN in a VeriStand model running on "NI Real-Time Phar Lap ETS 13.1" (inherited project). It is currently working using CAN1 configured as 'Frame Out Stream' but fails when I try to use CAN2 instead. The error code (as far as I c
-
Difference between Oracle Testing ID and enrollment number
hi all. I intend to submit my hand-on course form buy i am confused about what to use in the place for 'Enrollment number'. Please i need clarification. Is the enrolloment number same as the Oracle Testing ID or not. I am pursuin OCP 11g. Thanks in a
-
Hi, we had purchase Exchange server 2013 Volume license in MSDN subscription and going to implement. I need some Information. 1.How many Domains we can use? 2.How many Email ID we can use? 3.What is charge for Renewal Exchange server License? Let me