Flyout panel populating selections from state to state selections
I am looking at having states that offer selections. Once each selection in each state is selected such as a radio button that selection would populate in a flyout panel that would be in each state. You would then go onto the next state and make your next selection. It would then add onto that flyout panel in addition to the selection in the previous state. I would need to have what is populated in the flyout panel to have the ability to be able to copy and paste. In addition I would need to create a reset button that would go to the primary state and clear whats in the flyout panel. I know thats a lot to ask but I like the ease of use in catalyst. I know this might require some use of action script and would be wondering if it would be better to use Flex3
From what you are describing I think you will be able to accomplish a lot of this in Catalyst, but you will probably need Flash Builder to populate the flyout based on use selections. Give Catalyst a whirl, and if you run into problems or have specific questions, please post them on the forum.
Ty
Similar Messages
-
Is select from view faster then select from table..???
Hello Gurus,
I want to query some data from two tables, both of table have many columns (attributes) and many rows...
I use several where clauses to retrieve data from those tables..
witch one is faster, I create a view or I just "select" from those tables???
Regards.
Nia...riedelme wrote:
3360 wrote:
riedelme wrote:
Selecting through a view almost never helps performance and frequently hurts.Views do not affect performance.
Views are simply queries and like queries there are fast and slow ones.I disagree.
First of all, to use a view you are executing a query to get a result set, then accessing the data from that result set - a built-in extra step to perform to get data.First of all that entire explanation of how views work is not correct. The optimizer will rewrite the query to make the view go away if possible.
SQL> create or replace view v as select * from dual;
View created.
SQL> explain plan for select * from dual where dummy = 'X';
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 272002086
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2 | 2 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| DUAL | 1 | 2 | 2 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter("DUMMY"='X')
13 rows selected.
SQL> explain plan for select * from v where dummy = 'X';
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 272002086
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2 | 2 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| DUAL | 1 | 2 | 2 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter("DUMMY"='X')
13 rows selected.Exactly the same.
>
Second, when accessing the data from the view the result sets don't have indexes for fast lookups and efficient joins on later steps.This is also known as just making stuff up and is not how the database works. care to share any references at all for any of this?
>
Third, the systems I've seen that use views extensively - I am looking at one now - tend to perform joins on views using the same tables with the same data over and over. This is a design issue and not specifically a problem with views but they lend themselves to this misuse much too easilyCorrect as I said a view is just a query, and just like queries there are good fast views and bad slow views
>
I'll concede that the problem is not specifically with views themselves but as I just said they lend themselves to misuse. Tuning views of views and views joined to views is difficultYes, queries can be misused as can almost all SQL functions and functionality.
As I said - Views are simply queries and like queries there are fast and slow ones.
Nothing that you have posted that is accurate changes that. -
Get Selections From ALV on Multiple Selection Mode
Hi,
How can i get values of selected rows from ALV that has selection '0..n' (multiple selection) ?
Can somebody help me pls?
Thanks.Hi Nurullah,
Steps to make multiple rows selectable in ALV:
1) Create the selection property of the node that you are binding to the DATA node as o..n
2) Un-check the, "Initialization Lead Selection" checkbox for the node which you are using to bind to the DATA node
3) In the WDDOINIT method specify the ALV's selection mode as MULTI_NO_LEAD. It is important that you set the selection mode to MULTI_NO_LEAD or else in the end you would be capturing 1 row lesser than the total number of rows the user has selected. This is because 1 of the rows would have the LeadSelection property & our logic wouldnt be reading the data for that row. Check the example code fragment as shown below:
DATA lo_value TYPE REF TO cl_salv_wd_config_table.
lo_value = lo_interfacecontroller->get_model( ).
CALL METHOD lo_value->if_salv_wd_table_settings~set_selection_mode
EXPORTING
value = cl_wd_table=>e_selection_mode-MULTI_NO_LEAD.
Steps to get the multiple rows selected by the user
In order to get the multiple rows which were selected by the user you will just have to call the get_selected_elements method of if_wd_context_node. So as you can see its no different from how you would get the multiple rows selected by the user in a table ui element. First get the reference of the node which you have used to bind to the ALV & then call this method on it. Check the example code fragment below:
METHOD get_selected_rows .
DATA: temp TYPE string.
DATA: lr_node TYPE REF TO if_wd_context_node,
wa_temp TYPE REF TO if_wd_context_element,
ls_node1 TYPE wd_this->element_node_flighttab,
lt_node1 TYPE wd_this->elements_node_flighttab.
lr_node = wd_context->get_child_node( name = 'NODE_FLIGHTTAB' ).
" This would now contain the references of all the selected rows
lt_temp = lr_node->get_selected_elements( ).
LOOP AT lt_temp INTO wa_temp.
" Use the references to get the exact row data
CALL METHOD wa_temp->get_static_attributes
IMPORTING
static_attributes = ls_node1.
APPEND ls_node1 TO lt_node1.
CLEAR ls_node1.
ENDLOOP.
ENDMETHOD.
Hope this helps resolve your problem.
Regards,
Uday -
Nodes unavailable for selection from the OUI Node Selection screen
After successfully installing the grid infrastructure, The second node is not available fr selection while installing the database software.I am installing Release 11.2.0.1 on OEL 5.8 running on Esxi. These are two nodes And am using /etc/hosts file for IP resolution. cluster services are online on both nodes. I have even restarted them as per the docs but still can't see the node.
I have two users, grid and oracle. These are the environments
Oracle:
Node1:
[oracle@OELRacNode1 ~]$ env|grep ORA
ORACLE_BASE=/u01/app/oracle
[oracle@OELRacNode1 ~]$
Node2:
[oracle@OELRacNode2 ~]$ env|grep ORA
ORACLE_BASE=/u01/app/oracle
[oracle@OELRacNode2 ~]$
This means I haven't set $ORACLE_HOME for the user oracle on both nodes before running the runInstaller for the database software.
User grid:
Node1:
[grid@OELRacNode1 ~]$ env|grep ORA
ORACLE_BASE=/u01/app/11.2.0/grid
[grid@OELRacNode1 ~]$
Node2:
[grid@OELRacNode2 ~]$ env|grep ORA
ORACLE_BASE=/u01/app/11.2.0/grid
[grid@OELRacNode2 ~]$
Password-less ssh has been set for the user grid:
[grid@OELRacNode2 ~]$ ssh grid@OELRacNode1
Last login: Mon Aug 5 12:41:29 2013 from 192.168.1.74
[grid@OELRacNode1 ~]$
[grid@OELRacNode1 ~]$ ssh grid@OELRacNode2
Last login: Mon Aug 5 12:42:39 2013 from 192.168.1.74
[grid@OELRacNode2 ~]$
From primary (Node1):
[grid@OELRacNode1 bin]$ ./crsctl check cluster -all
oelracnode1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
oelracnode2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@OELRacNode1 bin]$ ./olsnodes
oelracnode1
[grid@OELRacNode1 bin]$
[grid@OELRacNode1 bin]$
From secondary (Node2):
[grid@OELRacNode2 11.2.0]$ cd grid/bin/
[grid@OELRacNode2 bin]$ ./crsctl check cluster -all
oelracnode1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
oelracnode2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@OELRacNode2 bin]$
[grid@OELRacNode2 bin]$ ./olsnodes
oelracnode2
[grid@OELRacNode2 bin]$
I installed the grid infrastructure as grid
I am installing rdbms as oracle. -
Selection from DDL enters same selection in more DDLs
Hello,
I have a table with 6 columns and 5 rows. Each cell is a DDL. If the user selects rawValue == 3 in a cell in a row, the remaining cells in the row need to be set to rawValue 3 automatically.
Any help with the script for this would be appreciated.
Thanks,
MDawnHi,
You can put code in the calculate event of the row, something like;
if (DropDownList1.rawValue == "3")
DropDownList2.rawValue = "3";
DropDownList3.rawValue = "3";
Bruce -
Post Author: JuneCruz
CA Forum: Data Connectivity and SQL
These is my table with 3 fields NFstCol, NsndCol, and NtrdCol
NFstCol NSndCol NTrdCol -
1 One 12 One 13 One 14 Two 15 Two 16 Two 17 One 28 One 29 One 210 One 311 One 312 One 316 Two 217 Two 218 Two 219 Four NULL20 Four NULL21 Four NULL
Now I want to display the records all records that have the maximum ntrdcol group by nsndcolso the output should be. NfstCol NtrdColOne 10 3 11 3 12 3
Two 16 2 17 2 18 2
Four 19 null 20 null 21 null
Can this be done without using view and command as source for the database.thanks.Post Author: JuneCruz
CA Forum: Data Connectivity and SQL
Hi Jagan, all;
Thanks for the reply. It works. Now Im grouping again my reports based on status.
my records would be.
FstCol NsndCol Status
1 One Inactive 2 One Active 3 One Active
My first group would be Status , then by NsndCol
However my report shows Active FstCol NsndCol 3 One Inactive 1 One
but I want only record number 3 having 3 as the max id for One, I just want to ignore about the Status but I need to group my records based on status also
FstCol NsndCol 3 One
Thanks, -
Select From Multiple CTE?
I was wondering if it is possible to create 2 - 3 CTE statements, and then run ONE select statement that would return the results from all 3 statements? Something like (I am just throwing this together for example, please excuse any syntax issue)
;With CTE AS (Select Count(numSold) As TotalSold, 'Total Sold' As Description
FROM tblSaleInfo
Where sold Is not null)
Select * from cte
;With CTE1 As (Select Count(employeeName) As TotalEmployee, 'Total Employee' As Description
From tblEmployeeInfo
Where Active is not null)
Select * from cte1
--Could you possibly select * from both CTE statements to return one dataset, maybe something like
Select * from cte
UNION ALL
Select * from cte1Yes, but the correct way to do it is
;With CTE AS (Select Count(numSold) As TotalSold, 'Total Sold' As Description
FROM tblSaleInfo
Where sold Is not null),
CTE1 As (Select Count(employeeName) As TotalEmployee, 'Total Employee' As Description
From tblEmployeeInfo
Where Active is not null)
Select * from cte
UNION ALL
Select * from cte1
You want to declare all the CTE's (separated by commas), followed by the query that uses the CTEs.
Tom
Thank you, I was having a brainstorming moment and not in front of SQL Server at the moment so I couldn't test my syntax. Thank you! -
Can not select from my own MV. Please help.
Hello Gurus,
I have created a MV with following clauses
CREATE or REPLACE MATERIALIZED VIEW "OWNER_NAME1"."MV_Name1"
BUILD IMMEDIATE
USING INDEX
REFRESH COMPLETE
AS
SELECT column1, column2 .... from table1,table2
where .....
I have logged in to DB with the 'owner_name1' schema itself which is the owner of the MV.
But, when I try to select from the above MV. It gives error "Ora-00942 table or view does not exist"
I can see the same under 'user_objects' view as an object of owner_name1 schema.
Could you please help me in understanding where I have gone wrong?
DB - Oracle 9i on unix platform.
Thanks in advance!
Abhijit.Oh! I missed to mention the exact steps followed by me which created error for me,
viz.
1) I have 2 Database and their users as follows
bq. i) DB1 in local server - 'localUser'
bq. ii) DB2 in remote server - 'RemoteUser1' and 'RemoteUser2'
2) 'RemoteUser2' user in DB2 has 'select' privilage on table 'RemoteTable1' of 'RemoteUser1' ( both are remote DB's users ! )
i.e. select * from RemoteUser1.RemoteTable1; --works okay when logged into RemoteUser2. no synonyms are created hence using schema_name.table_name convention.
3) Logged in to 'localUser' in DB1.
4) Created a DB link 'local_to_remote2' in 'localUser' schema ( in DB1) to 'RemoteUser2' schema (in DB2)
i.e.
create database link local_to_remote2 connect to RemoteUser2 identified by password using 'connection_string';
DBLink was created successfully.
5) I could select from the tables of 'RemoteUser2' using DB Link. (by logging in to 'localUser')
i.e. select * from RemoteUser1.RemoteTable1@local_to_remote2 ; --- gives me expected output. no issues!
6) Now, I created below MV in 'localUser' ( no need to tell in 'DB1' )
the exact syntax I used is as follows,
CREATE or REPLACE MATERIALIZED VIEW "localUser"."MV_Name1"
BUILD IMMEDIATE
USING INDEX
REFRESH COMPLETE
AS
SELECT column1, column2
From RemoteUser1.RemoteTable1@local_to_remote2
where condition1
and condition2;
The MV was created successfully, and I could see it as an 'Valid' object of 'localUser' schema.
i.e. select * from user_objects where object_name ='MV_NAME1' and status ='VALID' --- tells that above create MV is an object of owner 'localUser'
But, when I try to select from the said MV. it gives me error "Ora-00942 table or view does not exist"
i.e. select * from MV_Name1; ---- neither this
select * from localUser.MV_Name1; ---- nor this works :(
Even when I try to drop the same MV it gives me same error. :(
Could you please suggest me anything so that I will be able to select from MY OWN MV ?
Please help Gurus. -
SQL> create type string_table is table of varchar(100);
2 /
Type created.
declare
v_names string_table := string_table();
begin
v_names.EXTEND(3);
v_names(1) := 'name1';
v_names(2) := 'name2';
v_names(3) := 'name3';
dbms_output.put_line(v_names(1));
dbms_output.put_line(v_names(2));
dbms_output.put_line(v_names(3));
dbms_output.put_line(v_names.COUNT());
select * from table(v_names);
end;
select * from table(v_names);
ERROR at line 12:
ORA-06550: line 12, column 7:
PLS-00428: an INTO clause is expected in this SELECT statementselect * from table(v_names);
I guess ,here you were trying to put the content of the NT into another NT, or just trying to print it.
But, I don't think INTO Clause is mandatory here.
Please check your modified code (w/o INTO) and the output :
DECLARE
TYPE string_table IS TABLE OF VARCHAR (100);
v_names string_table := string_table ();
v_test string_table := string_table ();
BEGIN
v_names.EXTEND (3);
v_names (1) := 'name1';
v_names (2) := 'name2';
v_names (3) := 'name3';
DBMS_OUTPUT.put_line ('Old collection - '||v_names (1));
DBMS_OUTPUT.put_line ('Old collection - '||v_names (2));
DBMS_OUTPUT.put_line ('Old collection - '||v_names (3));
DBMS_OUTPUT.put_line ('Old collection - '||v_names.COUNT ());
DBMS_OUTPUT.put_line (CHR(10));
/* SELECT * FROM TABLE (v_names); */
v_test := v_names;
DBMS_OUTPUT.put_line ('New collection -- '||v_test (1));
DBMS_OUTPUT.put_line ('New collection -- '||v_test (2));
DBMS_OUTPUT.put_line ('New collection -- '||v_test (3));
DBMS_OUTPUT.put_line ('New collection -- '||v_test.COUNT ());
DBMS_OUTPUT.put_line (CHR(10));
/* Printing using FOR LOOP */
FOR i IN v_test.FIRST..v_test.LAST
LOOP
DBMS_OUTPUT.put_line ('In FOR Loop --- '||v_test (i));
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Error ' ||SQLERRM|| DBMS_UTILITY.format_error_backtrace);
END;gives o/p :
Old collection - name1
Old collection - name2
Old collection - name3
Old collection - 3
New collection -- name1
New collection -- name2
New collection -- name3
New collection -- 3
In FOR Loop --- name1
In FOR Loop --- name2
In FOR Loop --- name3Refer this link -- http://docs.oracle.com/cd/E11882_01/appdev.112/e17126/tuning.htm#CIHGGBGF
Edited by: ranit B on Dec 26, 2012 2:29 PM
-- code modified
Edited by: ranit B on Dec 26, 2012 2:45 PM
-- code 'again' updated -- FOR LOOP added -
Is selecting from a view more efficient than selecting from multiple tables
Hi heres the problem
Lets say i created a view from 2 tables (person and info). both have a ID column
create view table_view (age,name,status,id) as
select a.age, a.name, b.status, b.id
from person a, info.b
where a.id=b.idif i want to select a given range of values from these 2 tables which of the following queries would be more effective.
select a.age, a.name, b.status, b.id
from person a, info.b
where a.id=b.id
and a.id <1000
select age, name, status, id
from table_view
where id <1000Bear in mind that this concept of views storing the SQL text is something relative to Oracle databases and not necessarily other RDBMS products. For example, Ingres databases create "views" as tables of data on the database and therefore there is a difference between selecting from the view and selecting from the base tables.
Oracle also has "materialized views" which differ from normal "views" because they are actually created, effectively, as tables of data and will not use the indexes of the base tables.
In Oracle, you cannot create indexes against "views" but you can create indexes against "materialized views". -
Oracle 8i, selecting from Stored Procedudure
Hi
In InterBase it is possible to create a Stored Procedure with some input parameters and then select from it.
for example:
select * from my_stored_procedure (my_parameter);
Is it possile to do something similar in Oracle 8i?
Where to find examples on creating and using stored procedures like this?
I am new to Oracle and have been browsing documentation CD and otn.oracle.com websites, however is seemes like finding a needle in a haystack.
I would appreciate any samples or links.
Thanks,
RaigoAs far as I know, this is not possible directly the same way as in IB. You can resort to using REF CURSORs though:
create or replace package p
as
type t_rc is ref cursor; -- weak ref cursor
function f( cond in number ) return t_rc;
end;
create or replace package body p
as
function f ( cond in number ) return t_rc
is
rv t_rc;
begin
open rv for 'select * from some_table where id = :cond' using in cond;
-- just return open cursor
return rv;
end;
end;
then you can use it this way:
declare
c p.t_rc;
r some_table%rowtype;
begin
c := p.f(100);
loop
fetch c into r;
exit when c%notfound;
-- process row r here
end loop;
end;
You can also use SELECT FROM TABLE( CAST (function(...) AS collection_type)) syntax - browse Object-Relational Features guide, SQL Reference and Application Development - Fundamentals for more info and examples on this. -
I have a db, call it xyz.mdb
It suddenly is that SSMS is not listing the table objects nor the Views. SELECT * FROM sys.Tables and SELECT * FROM sys.Views work very fine. But when I click on the tables node, on Objects Explorer, Only the Systems Tables and File Tables folders
show.
Other DBs on same SQL instance do not show same problem. They are all working very fine.
I have backed up and restored this db on other computers and the behaviour is the same. Incidentally right-clicking the db and clicking Properties throws up this error message.
-------------------------------------------------------------------------Error!
Cannot show requested dialog.
Property Size is not available for Database '[Pliny E DB - NOA 2014]'. This property may not exist for this object, or may not be retrievable due to insufficient access rights. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.3000.0+((SQL11_PCU_Main).121019-1325+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.PropertyCannotBeRetrievedExceptionText&EvtID=Size&LinkId=20476
--------------------------------------------------------------------------------End>
When I try to Refrresh the Tables node on Object Explorer, I get this other:
------------------------------Error!
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0x9090d9b7; actual: 0x909001b4). It occurred during a read of page (1:1173) in database ID 21 at offset 0x0000000092a000 in file 'c:\Databases\Clients\NOA\Pliny E DB -
NOA 2014.mdf'. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check
(DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. (Microsoft SQL Server, Error: 824)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=824&LinkId=20476
------------------------------End>
The Help link of course is not valid any more.
Many thanks
Vie
@Abuja
VieYour database is corrupted and you need to run.
DBCC CHECKDB
You already have a backup so do it...
This link will provide you with more information:
http://msdn.microsoft.com/en-us/library/ms176064.aspx -
Pipelined function, select from table t1 or t2 depending on user's choise
Hi all,
My need is to select data from table t1 or t2 depending on user's choise using pipelined function. You can find my first guess below. Maybe someone can help me to save some code, I mean getting the same result without writing "PIPE ROW" twice.
FUNCTION fn_indicators (p_datbeg date, p_datend date, p_indicatorid number) return cl_risk_act pipelined IS
v_obj cl_user_type;
BEGIN
case when p_indicatorid = 1 then
FOR e IN (
select trunc(sysdate-1) as adate, 0 as cid, 0 as indicatorid, '0' as code, '0' as indicatorname, 0 as value, 0 as cnt, '0' as cname from dual
LOOP
v_obj.adate := e.adate;
v_obj.cid := e.cid;
v_obj.indicatorid := e.indicatorid;
v_obj.code := e.code;
v_obj.indicatorname := e.indicatorname;
v_obj.value := e.value;
v_obj.cnt := e.cnt;
v_obj.cname := e.cname;
PIPE ROW (v_obj);
END LOOP;
when p_indicatorid = 2 then
FOR e IN (
select trunc(sysdate-2) as adate, 1 as cid, 1 as indicatorid, '1' as code, '1' as indicatorname, 1 as value, 1 as cnt, '1' as cname from dual
LOOP
v_obj.adate := e.adate;
v_obj.cid := e.cid;
v_obj.indicatorid := e.indicatorid;
v_obj.code := e.code;
v_obj.indicatorname := e.indicatorname;
v_obj.value := e.value;
v_obj.cnt := e.cnt;
v_obj.cname := e.cname;
PIPE ROW (v_obj);
END LOOP;
end case;
RETURN;
end;marco wrote:
Justin,
In my real code table real_t1 or pipelinedfn_t2 is joined to other tables, so surely real code is bigger than sample one. It is not wise to keep code twise with only one table name changed. I think about dynamic sql to choose from two tables:
with t1 as
(select * from real_t1
t2 as
(select * from pipelinedfn_t2
t3 as (
[dynamic selection of t1 or t2 depending on user's choise]
select * from t3, t... where...I don't know correct syntax.
Any ideas?
>Justin,
In my real code table real_t1 or pipelinedfn_t2 is joined to other tables, so surely real code is bigger than sample one. It is not wise to keep code twise with only one table name changed. I think about dynamic sql to choose from two tables:
with t1 as
(select * from real_t1
t2 as
(select * from pipelinedfn_t2
t3 as (
[dynamic selection of t1 or t2 depending on user's choise]
select * from t3, t... where...I don't know correct syntax.
Any ideas?
Dynamic code does NOT scale.
Making the tradeoff of smaller code size for reduced performance is not one that I would make. -
ORA-01031 insufficient privileges error when selecting from a view
OK I think this might be a dumb question but I can't figure it out:
User John has been granted SELECT privilege (directly, not through a database role) to schema FRED.table1;
User John can issue select * from FRED.table1; and it works just fine.
User John has then been granted SELECT privilege (directly, not via a database role) to schema
MARK.view1;
MARK.view1 only selects from FRED.table1. No other tables are in the view1.
Schema MARK can successfully query the views. SELECT * FROM VIEW1 returns results.
I also checked the MARK schema to ensure that it has been granted SELECT on FRED.table1 directly which it has.
Now, when logged into schema John, I try SELECT * FROM MARK.VIEW1; and I get ORA-01031 insufficient privileges error.
I'm not sure how to troubleshoot this. If John is granted SELECT ANY TABLE, it of course works but I don't want John to have that powerful priv.
To recap, John has SELECT on both MARK.VIEW1 and the table which VIEW1 selects from (FRED.TABLE1).
John can select from FRED.TABLE1 no problem but receives a privilege error even though John has SELECT on MARK.VIEW1.
Any thoughts?
Oh, Oracle EE 10.2.0.4JSebastian wrote:
OK I think this might be a dumb question but I can't figure it out:
User John has been granted SELECT privilege (directly, not through a database role) to schema FRED.table1;
User John can issue select * from FRED.table1; and it works just fine.
User John has then been granted SELECT privilege (directly, not via a database role) to schema
MARK.view1;
MARK.view1 only selects from FRED.table1. No other tables are in the view1.
Schema MARK can successfully query the views. SELECT * FROM VIEW1 returns results.
I also checked the MARK schema to ensure that it has been granted SELECT on FRED.table1 directly which it has.
Now, when logged into schema John, I try SELECT * FROM MARK.VIEW1; and I get ORA-01031 insufficient privileges error.
I'm not sure how to troubleshoot this. If John is granted SELECT ANY TABLE, it of course works but I don't want John to have that powerful priv.
To recap, John has SELECT on both MARK.VIEW1 and the table which VIEW1 selects from (FRED.TABLE1).
John can select from FRED.TABLE1 no problem but receives a privilege error even though John has SELECT on MARK.VIEW1.
Any thoughts?
Oh, Oracle EE 10.2.0.4Are you certain John has been granted select on Mark.view1 ? In order for that to work Mark would have to have been given select on Fred.table1 WITH GRANT OPTION ... otherwise the grant would fail and then John would not be able to select from the view because the grant was never successfully issued.
Here's a basic test case (which i think conforms to what you've outlined) to get it working.
drop user u1 cascade;
drop user u2 cascade;
drop user u3 cascade;
create user u1 identified by u1;
grant connect, resource to u1;
create user u2 identified by u2;
grant connect, resource, create view to u2;
create user u3 identified by u3;
grant connect, resource to u3;
connect u1/u1@orcl
create table test1 (col1 number);
grant select on test1 to u2 with grant option; --> this is the important part
grant select on test1 to u3;
connect u2/u2@orcl
create view test2 as select * from u1.test1;
grant select on test2 to u3;
connect u3/u3@orcl
select * from u2.test2; -
Which is fast ? Select * from tableName or Select Column1,Column2 .... From tableName ? and Why ?
select * from Sales.[SalesOrderHeader]
select SalesOrderNumber,RevisionNumber,rowguid from Sales.[SalesOrderHeader]
As you can see both the query execution plan and subtree cost is same. So how selecting the particular columns optimize the query ?Which is fast ? Select * from tableName or Select Column1,Column2 .... From tableName ? and Why ?
select * from Sales.[SalesOrderHeader]
select SalesOrderNumber,RevisionNumber,rowguid from Sales.[SalesOrderHeader]
As you can see both the query execution plan and subtree cost is same. So how selecting the particular columns optimize the query ?
Yes, selecting specific columns is always better than select *.
If you always need few columns in result, then just use SELECT col1, col2 FROM YourTable. If you SELECT * FROM YourTable; that is extra useless overhead.
If in future if someone adds Image/BLOB/Text type columns in your table, using SELECT * will worsen the performace for sure.
Let's say if you have SP and you use INSERT INTO DestTable SELECT * FROM TABLE which runs fine BUT again if someone adds few more columns then your SP will fail saying provided columns don't match.
-Vaibhav Chaudhari
Maybe you are looking for
-
IPod Touch stuck on "syncing"...
i really don't know what started this issue, starting today when i try and sync my ipod touch it just sticks on "syncing ipod touch" (waited 15+ minutes), doesn't say what it's sending as it would before. i can cancel the sync on the ipod touch with
-
Create an image with 100% height?
Hi, I am working on a project and require an image to stretch to the full height of the table cell. The width will be fixed at 40 pixels, but I require the height to always be 100% of the cell. I have tried simply adding the height tag as 100%, but t
-
White line to aid in aligning clips?
There used to be a vertical white line with arrows that would pop up when I was dragging one clip to the beggining/end of another clip on my timeline.. but now it no longer shows up. Does anyone know how I can get this feature back? It was very handy
-
BAPI_GOODSMVT_CREATE - GOODS ISSUE
I want to do a goods issue using this BAPI but I don't the print. How I can I stop it here ?
-
Parallels Desktop and Home Networking
I don't know if anyone has encountered a similar problem that I'm describing below. Context: We have two MBP's at home running 10.4.9 connected over a wireless network. Both computers for some time saw each other easily over the network when appletal