View with consoildatet rows
Hi all
Hope you can help a beginner with this
I have 2 tables like this:
ASSIGNMENTS
emp number(9)
startdate date
dep varchar2(3)
enddate date
arr varchar2(3)
BASE
emp
station varchar2(3)
TABLE ASSIGMENTS
1 01-DEC-03 LAX 01-DEC-03 JFK
1 02-DEC-03 JFK 03-DEC-03 LHR
1 04-DEC-03 LHR 05-DEC-03 LAX
1 06-DEC-03 LAX 06-DEC-03 SFO
1 07-DEC-03 SFO 07-DEC-03 SFO
TABLE BASE
1 LAX
Then I want to produce a query that gives me a "time away from base" row
Wanted result:
1 01-DEC-03 05-DEC-03
1 06-DEC-03 07-DEC-03
Just a correction:
Arr in the last row off the assignment table shall be LAX
Similar Messages
-
Aperture shared over a network for viewing with Front Row?
Aperture shared over a network for viewing with Front Row? I can view iPhoto from my laptop or desk top but I cannot find a way to share Aperture over the network.
If tested to work with other MacOs versions, this should be a main FAQ listed on Apple's Support website for Aperture and/Mac OSX.
-
Build view with data rows from one of two views.
Hello. I've got problem with PL/SQL.
I have built two PL/SQL views. Now I have to write a third
view based on the data from "view_1" or "view_2". "view_2" contains all data rows
but "view_1" contains special information. If the needed data rows (it's
always a tupel of two rows) are available in "view_1" i have to use these data.
Are they not available in "view_1" i have to get it from the second view.
I've tried it with the DECODE function and a procedure I've written but I think it's
the completly wrong way because I have to search for a tour_id and there are always
two shipments for one tour.
It looks something like:
>
SELECT
DECODE(FNC_OPERATION_INSTRUCTION_EXISTS(T1.TOURNO),0,
(SELECT SHIPPING_NO
FROM VIEW_SHIPPINGADRESS
WHERE TOUR_ID=TO_CHAR(T1.TOURNO)),
(SELECT SHIPPING_NO
FROM VIEW_SHIPPINGADRESS_OPERATION_INSTRUCTION
WHERE TOUR_ID=TO_CHAR(T1.TOURNO)) "SHIPPING_NO"
FROM
TB_TOURS T1
WHERE
But for sure I've got the error "ORA-01427: single-row subquery returns more than one row."
because there are always two rows for one T1.TOURNO.
I think that it's a standard problem but I also think that I'm on the wrong way.
I will be very thankful for any hint.
Thanx,
Christophselect col1,
col2,
col3
from (select (select decode(count(*),0,0,1) cnt
from view_1
where ...)) chk,
col1,
col2,
col3
from view_1
where ...) tab1
where tab1.chk = 1
union all
select col1,
col2,
col3
from (select (select decode(count(*),0,0,1) cnt
from view_1
where ...)) chk,
col1,
col2,
col3
from view_2
where ...) tab1
where tab1.chk = 0note: untested. -
MVC Event Handling with different rows of same table view
Hello friends,
I have a tableview with some rows.I have some columns in the tableview.First column contains the drop down list box and other columns are output fields.
I am allready able to populate the columns according to the selection of a value in the drop down listbox of the same row.
In the layout of view for the selectionmode attribute of tableview i have given 'lineedit'.
In the do_handle_event i am also able to get the current selected row of the tableview.
DATA: tv_data TYPE REF TO cl_htmlb_event_tableview.
selection = tv_data->selectedrowindex.
Scenario:I have selected the first row then i am selecting a value in the dropdown and able to populate their corresponding value in the corresponding output field of same row.
So the first row has the selected value in drop down listbox also the corresponding outputfield of same row also has the value.This i am doing by inserting it to the final internal table for the tableview according to currrent selected row .
Now i am going to select the second row.then i am selecting someother value in the dropdown listbox of the second row and filling the other columns correspondigly.I am able to do this for the secondrow.What i now need to do is i also want to see the first row with slected values correspondingly when the final view comes.ie i need both rows with corresponding values.
Similarly when selecting third row and other rows so on.
how to do this?
Thanks & Regards,
Renju.Hi Renju,
Try using MULTILINEDIT - this is used when you want to edit multiple rows all at once.
Cheers -
View with Bind Variable and ADF table
Hi all,
Please note what i have noticed. I created a view with a bind parameter, overriden the prepareSession of my Application Module to set the bind parameter and execute the query. I then created a simple jsf page and included the view as an adf read-only table. When i run the page, the prepareSession is called, sets the bind parameter, however the selected record of the table is always the second record (Not the first record).
This behaviour can be reproduced with the HR schema. Please follow the below instructions for reproducing the problem.
1. Create a Fusion Web Application (ADF).
2. Create business components from tables.
3. Create a new connection with the HR schema.
4. Import the Departments table as an entity and then click finish.
5. Create a view based on the Departments entity.
6. Modify the Query to include a where clause (where DDepartmentsEO.DEPARTMENT_NAME LIKE :BindParam)
7. Provide an order by clause (DepartmentsEO.DEPARTMENT_ID DESC)
8. Creata a bind variable named "BindParam" of type string.
9. Create an Application Module and include the view object.
10. Open the Application Module Class and override the prepareSession method
11. include the following code after super.prepareSession(session):
ViewObject myView = this.getDepartments1();
myView.setNamedWhereClauseParam("BindParam", "%");
myView.executeQuery();
12. Create a jsf page
13. Drag the view object on the page as an adf read-only table, selecting the Row Selection, Sorting and Filtering
14. Run the page.
You will see that instead of the first record being selected, the second record in the table is selected.
Can anyone please help me?
Thank youFirst of all i would like to thank you for replying to my thread.
Secondly, i would like to inform you that the example that i have provided is just for REPRODUCTION purposes.
The real scenario has to do with setting the where clause with the authenticated user so that the view will query for data only associated with the authenticated user.
The only way to overcome this behaviour is to include a view action (namedWhereClause in the page definition)
However, this is not how i want to implement this. This was working properly in 10g -
Detail view with bind variable. TreeTable not showing all detail result.
I’m having trouble with treeTable using detail view with bind variables and where clause defined in VO definition.
Both, master and detail view objects, base on the same entity and have the same condition in where clause. The view objects also have bind variables, which are set in prepareRowSetForQuery() method.
Again, these are two different views, that get different result, based on value of one of the bind variable.
When I show results in two different tables on jsf page, where master table has "RowSelection" set on "single", all results are displayed in detail table.
But when I use treeTable, only the first result of the detail is shown.I tested it in applicationModule and it works, but i think that's the same as two tables on a jsf page.
This is the order in which overridden methods are called in ADF BC or two tables on jsf page
when clicking on row in master table.
PrepareRowSetForQueryDetail
executeQueryForCollection_Detail user param: 2
Object 2: class [Ljava.lang.Object; -> print of the object2[] parameter in executeQueryForCollection
List 0: Bind_ChildId -> viewLink parameter
List 1: 400035313 -> viewLink parameter value
getEstimatedRowCount_Detail
count: 2
getEstimatedRowCount_Detail
count: 2 And when i click on "expand node" in tree table:
getEstimatedRowCount_Root
count: 2
PrepareRowSetForQuery_Detail
executeQueryForCollection_Detail user param: 2
Object 2: class [Ljava.lang.Object;
List 0: Bind_ChildId -> viewLink parameter
List 1: 400035321
PrepareRowSetForQueryDetail
executeQueryForCollection_Detail user param: 2
Object 2: class [Ljava.lang.Object;
List 0: Bind_ChildId -> viewLink parameter
List 1: 400035313
getEstimatedRowCount_Root
count: 2
getEstimatedRowCount_Root
count: 2
getEstimatedRowCount_Root
count: 2
PrepareRowSetForQueryDetail
executeQueryForCollection_Detail user param: 2
Object 2: class [Ljava.lang.Object;
List 0: Bind_ChildId -> viewLink parameter
List 1: 400035313
PrepareRowSetForQueryDetail
executeQueryForCollection_Detail user param: 2
Object 2: class [Ljava.lang.Object;
List 0: Bind_ChildId -> viewLink parameter
List 1: 400035321
getEstimatedRowCount_Root
count: 2
getEstimatedRowCount_Root
count: 2Values of user parameters are OK. Is there another method that i should override?
I also noticed, that if detail view doesn't have user bind variables, the tree works fine and is shown even in ADF BC (aplication module).
I guess we loose a tree, when using bind variables in detail view object.
Is there a way around it? -
Microsoft Visual Basic 2010 Express.
I am new to Visual Basic programing and i am trying to understand the relationships between Datasets, database, table Adaptors. I have to following code that is is giving me the following error" Unable to load, Update requires a valid DeleteCommand
when passed DataRow collection with deleted rows".
I can track the error and its located in "OffsetTableTableAdapter.Update(MaterionOffsetDataSet.OffsetTable)" code. What am i missing?
It seems that i can delete the data on the DataGridView Table and it only displays the correct data. but my database is not updating, even though the data grid displays differently.I can determine this because, when i save the offset database, i have all
the previous uploads and all the rows that i wanted to delete are still there.
My final goal is to be able to import offset data from a CSV file, save this data on the pc, send a copy of this data to a NuermicUpDown so the customer can modify certain numbers. From here they download all the date to a controller. IF the customer
needs to modify the imported data, they can go to a tab with a data grid view and modify the table. They will also have to option to save the modified data into a csv file.
Im not sure if i am making this overcomplicated or if there is a easier way to program this.
CODE:
Private Function LoadOffSetData()
Dim LoadOffsetDialog As New OpenFileDialog 'create a new open file dialog and setup its parameters
LoadOffsetDialog.DefaultExt = "csv"
LoadOffsetDialog.Filter = "csv|*.csv"
LoadOffsetDialog.Title = "Load Offset Data"
LoadOffsetDialog.FileName = "RollCoaterOffset.csv"
If LoadOffsetDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then 'show the dialog and if the result is ok then
Try
Dim myStream As New System.IO.StreamReader(LoadOffsetDialog.OpenFile) 'try to open the file with a stream reader
If (myStream IsNot Nothing) Then 'if the file is valid
For Each oldRow As MaterionOffsetDataSet.OffsetTableRow In MaterionOffsetDataSet.OffsetTable.Rows
oldRow.Delete()
'delete all of the existing rows
Next
'OffsetTableTableAdapter.Update(MaterionOffsetDataSet.OffsetTable)
Dim rowvalue As String
Dim cellvalue(25) As String
'Reading CSV file content
While myStream.Peek() <> -1
Dim NRow As MaterionOffsetDataSet.OffsetTableRow
rowvalue = myStream.ReadLine()
cellvalue = rowvalue.Split(","c) 'check what is ur separator
NRow = MaterionOffsetDataSet.OffsetTable.Rows.Add(cellvalue)
Me.OffsetTableTableAdapter.Update(NRow)
End While
Me.OffsetTableTableAdapter.Update(MaterionOffsetDataSet.OffsetTable)
MainOffset.Value = OffsetTableTableAdapter.MainOffsetValue 'saves all the table offsets
to the offset numericUpDown registers in the main window
StationOffset01.Value = OffsetTableTableAdapter.Station01Value
StationOffset02.Value = OffsetTableTableAdapter.Station02Value
myStream.Close() 'close the stream
Return True
Else 'if we were not able to open the file then
MsgBox("Unable to load, check file name and location") 'let the operator know that the file wasn't able to open
Return False
End If
Catch ex As Exception
MsgBox("Unable to load, " + ex.Message)
Return False
End Try
Else
Return False
End If
End FunctionHello SaulMTZ,
>>I can track the error and its located in "OffsetTableTableAdapter.Update(MaterionOffsetDataSet.OffsetTable)" code. What am i missing?
This error usually shows that you do not initialize the
DeleteCommand object, you could check this
article to see if you get a workaround.
>> Im not sure if i am making this overcomplicated or if there is a easier way to program this.
If you are working CSV file, you could use OleDB to read it which would treat the CSV file as a Table:
http://www.codeproject.com/Articles/27802/Using-OleDb-to-Import-Text-Files-tab-CSV-custom
which seems to be easier (in my opinion).
Regards.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
ApEx 4.1.1: update record in a view with 'instead of update' trigger
I created a form against a view. The view is complex enough which prevents direct updates. To incorporate the update logic I created an 'instead of update' trigger on the view. When I open up the form, do changes, and click 'Apply Changes' button I am getting the following exception
ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
I understand that the standard 'Automatic Row Processing' process is trying to lock the record before updating using a cursor like
select *
from my_view
for update
and fails. Is it possible to bypass this locking while using the standard APEX processes?
I think I can create a custom PL/SQL process which would execute the UPDATE statement (at least, it works in SQL*Plus), but I would like to know if I can use a standard ApEx functionality for this.Hello,
Sorry for delay.
I had found a feedback about trigger issue when restore SQL Database from a BACPAC file. Microsoft said the fixed will be available in the next major release of DacFx.
Feedback:
SQL Azure fires a trigger when restoring from bacpac
You can refer to the workarounds in the feedback. For example, if there is small amount of triggers on the database, you can try to remove the triggers and then recreate when restore from bacpac file.
Regards,
Fanny Liu
Fanny Liu
TechNet Community Support -
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 -
What is the use for CREATING VIEW WITH CHECK OPTION?
Dear Legends,
I have a doubt
What is the use for creating view?
A: First Data Integrity, Selecting Particular Columns..
What is the use for creating a view with check option?
A: As per oracle manual I read that its a referential integrity check through views.
A: Enforcing constraints at DB level.
A: using CHECK OPTION we can do INSERTS UPDATES for a view for those columns who have no constraints... is it right??
A: If we do a INSERT OR UPDATE for columns who have constraints it will show error... is it right???
Please clear my doubt's Legends
Lots of Thanks....
Regards,
KarthikHi, Karthick,
karthiksingh_dba wrote:
... What is the use for creating view?
A: First Data Integrity, Selecting Particular Columns..Most views are created and used for convenience. A view is a saved query. If the same operations are often done, then it can be very convenient to code those operations once, in a view, and refer to the view rather than explicitly doing those operations.
Sometimes, views are created and used for security reasons. For example, you many want to allow some users to see only certain rows or certain columns of a table.
Views are necessary for INSTEAD OF triggers.
What is the use for creating a view with check option?
A: As per oracle manual I read that its a referential integrity check through views.The reason is integrity, not necessarily referential integrity. The CHECK option applies only when DML is done through the view. It prohibits certain changes. For example, if a user can't see certain rows through a view, the CHECK option keeps the user from creating such rows.
A: Enforcing constraints at DB level.I'm not sure what you mean. Please give an example.
A: using CHECK OPTION we can do INSERTS UPDATES for a view for those columns who have no constraints... is it right??No. Using CHECK OPTION, you can do some inserts and updates, but not others. The columns involved may or may not have constraints in either case.
A: If we do a INSERT OR UPDATE for columns who have constraints it will show error... is it right???If you try to violate a constraint, you'll get an error. That happens in views with or without the CHECK OPTION, and also in tables. -
Replace Materialized View with Flashback?
I'm building a Data Warehouse with the following:
1. Tables populated throughout the day using CDC from the Application DB
2. MVs on those tables to keep a daily snapshot of the tables for reporting.
3. End users access the data through views with VPD applied, on the MVs
My systems team would like the solution to use as little storage as possible and currently I effectively have a copy of the app DB in the DW tables and would need another copy in the Daily MVs. (It is an insurance DB, so it is complex with lots of data, > 1.5 TB)
One way to reduce the storage could be to use flashback to keep a static daily version of the tables, so
At midnight I'd recreate the views like:
CREATE OR REPLACE VIEW client
AS SELECT *
FROM client_tab
AS OF TIMESTAMP (TO_TIMESTAMP(TRUNC(SYSDATE)));This would replace my refresh MV script. The end users would then refer to the client view in their reports
We would obviously need enough undo to store a days worth of data to ensure the flashback views remain consistent, but this is much less than the space required for a full copy. On a busy day there would be about 1% data change.
No DDL will occur on the tables during the day
Is there anything else I should be aware of? Can you let me know if (and why) this would not be a good idea?
This will run on Oracle 11.2.0.1
Thanks,
BenI guess I'm having some trouble visualizing the basic data model...
In most data warehouses that I've seen in the financial industry, reporting the position/ balance/ etc. at a given date involves scanning a single daily partition of each fact table involved and then hitting dimension tables that may or may not be partitioned (slowly changing dimensions would often have effective and expiration date columns to store the range of time a row was valid for, for example). Year-over-year reporting, then, just has to scan two fact table partitions-- the one for today and the one for a year ago. You may not store every intermediate change if there are potentially hundreds of transactions per account per day, but you'd generally put the end state for a given day in a single partition.
In one of your updates, it sounded like the 1.5 TB of data was just for the data that constituted end-of-day yesterday plus the 1% of changes made today which would imply that there was at least 15 GB of UNDO generated every day that would need to be applied to make flashback query work. That quantity of UNDO would make me pretty concerned from a performance perspective.
I would also tend to wager that VPD policies applied to views that are doing flashback query would be problematic. I haven't tried it and haven't really worked through all the testing scenarios in my mind, but I would be somewhat surprised if that didn't introduce some sort of hurdle that you'd have to work through/ work around.
Justin -
Updatable Materialized View with Union ALL
(please don't ask about db structure)
DB: 11gR2
create table table_1 (
id number primary key,
val varchar2(100)
create table table_2 (
id number primary key,
val varchar2(100)
insert into table_1(id) values (0);
insert into table_1(id) values (2);
insert into table_1(id) values (3);
insert into table_1(id) values (4);
insert into table_1(id) values (5);
insert into table_2(id) values (10);
insert into table_2(id) values (12);
insert into table_2(id) values (13);
insert into table_2(id) values (14);
insert into table_2(id) values (15);
update table_1 set val='Table1 val:'||id;
update table_2 set val='Table2 val:'||id;
create view v_table_all as
select * from table_1
view V_TABLE_ALL created.
select * from v_table_all;
ID VAL
0 Table1 val:0
2 Table1 val:2
3 Table1 val:3
4 Table1 val:4
5 Table1 val:5
select column_name, updatable, insertable, deletable
from user_updatable_columns
where table_name = 'V_TABLE_ALL'
COLUMN_NAME UPDATABLE INSERTABLE DELETABLE
ID YES YES YES
VAL YES YES YES
update v_table_all set val='XXX changed' where id = 3;
1 row updated.
select * from table_1;
ID VAL
0 Table1 val:0
2 Table1 val:2
3 XXX changed
4 Table1 val:4
5 Table1 val:5
rollback;
select * from table_1;
ID VAL
0 Table1 val:0
2 Table1 val:2
3 Table1 val:3
4 Table1 val:4
5 Table1 val:5
create or replace view v_table_all as
select * from table_1
union select * from table_2;
view V_TABLE_ALL created.
select * from v_table_all;
ID VAL
0 Table1 val:0
2 Table1 val:2
3 Table1 val:3
4 Table1 val:4
5 Table1 val:5
10 Table2 val:10
12 Table2 val:12
13 Table2 val:13
14 Table2 val:14
15 Table2 val:15
select column_name, updatable, insertable, deletable
from user_updatable_columns
where table_name = 'V_TABLE_ALL'
COLUMN_NAME UPDATABLE INSERTABLE DELETABLE
ID NO NO NO
VAL NO NO NO
trying update:
update v_table_all set val='XXX changed' where id = 3;
SQL-Fehler: ORA-01732: Datenmanipulationsoperation auf dieser View nicht zulässig
01732. 00000 - "data manipulation operation not legal on this view"
*Cause:
*Action:
drop view v_table_all;
view V_TABLE_ALL dropped.all is ok before this point.
now we want create a new materialized view with some query
create materialized view v_table_all
as
select * from table_1
union all select * from table_2 ;
materialized view V_TABLE_ALL created.
select column_name, updatable, insertable, deletable
from user_updatable_columns
where table_name = 'V_TABLE_ALL'
COLUMN_NAME UPDATABLE INSERTABLE DELETABLE
ID YES YES YES
VAL YES YES YES it seems to be ok with update.
but...
update v_table_all set val='XXX changed' where id = 3;
SQL-Fehler: ORA-01732: Datenmanipulationsoperation auf dieser View nicht zulässig
01732. 00000 - "data manipulation operation not legal on this view"
*Cause:
*Action:How can solve this issue??
Any suggestionLooks like user_updatable_columns sort of thinks the MV is just a table - I don't know about that...
An MV on a single table can be updated - I tried that and it works:
create materialized view mv_table_1 for update
as
select * from table_1;I noticed [url http://download.oracle.com/docs/cd/E11882_01/server.112/e16579/advmv.htm#sthref294]examples stating the UNION ALL needs a "marker" so Oracle can know from the data which source table a row in the MV originates from - like this:
create materialized view v_table_all for update
as
select 'T1' tab_id, table_1.* from table_1
union all
select 'T2' tab_id, table_2.* from table_2 ;But that also fails (the "marker" requirement was specifically for FAST REFRESH, so it was just a long shot ;-) )
What are you planning to do?
<li>Create the MV.
<li>Update records in the MV - which then is no longer consistent with the source data.
<li>Schedule a complete refresh once in a while - thereby overwriting/losing the updates in the MV.
If that is the case, I suggest using a true table rather than an MV.
<li>Create table t_table_all as select ... .
<li>Update records in the table - which then is no longer consistent with the source data.
<li>Schedule a job to delete table and insert into table select ... once in a while - thereby overwriting/losing the updates in the table.
In other words a kind of "do it yourself MV".
I cannot see another way at the moment? But perhaps try in the data warehousing forum - the people there may have greater experience with MV's ;-) -
Create materialized view with specific column sizes
Hi all,
I'm trying to create a materialized view with a specific a column size. Something like
create materialized view test_mv
refresh force on demand
as
select id,
cast(my_compound_field as nvarchar2(50))
from ( select id,
field1 || field2 my_compound_field
from my_table);But Oracle seems to ignore the cast and takes the maximum size it finds for field1 || field2 in the select query. The resulting table has a column nvarchar2(44) instead of nvarchar2(50).
This can give a problem when the view is refreshed... there could be new data that exceeds the current size, i.e. where length(field1 || field2) > 44.
How can I override the column size of a field in a materialized view?
Edit: Some additional info to clarify my case:
field1 and field2 are defined as nvarchar2(25). field1 || field2 can theoretically have a length of 50, but there is currently no data in my table that results in that length, the max is 44. I am afraid that there will be data in the future that exceeds 44, resulting in an error when the MV is refreshed!
Edited by: Pleiadian on Jan 25, 2011 2:06 PMCannot reproduce what you are saying is happening.
SQL> create table t (a nvarchar2(50), b nvarchar2(50));
Table created.
SQL> create materialized view tmv as
2 select a, b, a || b c from t;
Materialized view created.
SQL> desc tmv
Name Null? Type
A NVARCHAR2(50)
B NVARCHAR2(50)
C NVARCHAR2(100)
SQL> drop materialized view tmv;
Materialized view dropped.
SQL> create materialized view tmv as
2 select a, b, substr(a || b, 1, 10) c from t;
Materialized view created.
SQL> desc tmv
Name Null? Type
A NVARCHAR2(50)
B NVARCHAR2(50)
C NVARCHAR2(10)
SQL> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
SQL>Edited by: 3360 on Jan 25, 2011 8:10 AM
And with data
SQL> insert into t values ('3123423423143hhshgvcdcvw', 'ydgeew gdfwe dfefde wfjjjjjjj');
1 row created.
SQL> commit;
Commit complete.
SQL> desc tmv
Name Null? Type
A NVARCHAR2(50)
B NVARCHAR2(50)
C NVARCHAR2(10)
SQL> select * from tmv;
A
B C
3123423423143hhshgvcdcvw
ydgeew gdfwe dfefde wfjjjjjjj 3123423423 -
How to select value from database view with * in wher clause
Hi ,
I ahve a database view with some fields.
Now my requirement is to serach a single row on the basis of process type.
Process type can have values like ZBA,ZBC,ZBD,ZBE or similarly anything starting with ZB.
Now i know that starting two letters will be ZB , but dont knwo the last letter.
So how should i use select query for the same?
Should i use like operator for the same?
regards
PGhi,
u can use character '%'.sample code like this
SELECT reltype
instid_a
catid_a
instid_b
FROM /dbm/ord_docflow
INTO TABLE it_link
FOR ALL ENTRIES IN it_pnwtyh
WHERE instid_a = it_pnwtyh-instid_a AND
instid_b LIKE 'QMSM%' AND
typeid_a = 'BUS2400' AND
typeid_b = 'BUS2400' AND
catid_a = 'BO' AND
catid_b = 'BO' AND
reltype = 'VONA'.
this is similar to using* while we fetch values from table.in the above code only i no QMSM rest values not sure,so used QMSM% -
Web dynpro screen with multiple rows with columns that can be edited
Web dynpro screen with multiple rows with columns that can be edited individually:
Hi
I am busy creating a screen in web dynpro for ABAP which we would like to make available via Portal ESS (Portal 7).
I need to add 'n type of table (or almost something like Excel) or something in which someone can type a few paycode numbers (there should be lets say 10 blank rows in which info can be typed in and if I click on a button or so, more rows must be added if necessary. Then in the other colums stuff like amounts must be entered which one should also be able to edit then and there.
Can anyone assist in what I can use for this? There does not seem to be some existing element that I can use.
Help will be appreciated.
Regards
DebbieHi Debbie,
Whiel Creating table you need to be care full that use chose INPUT FIELD as the CELL EDITOR. Just guessing that if ur table is not editable u might have choosen TextView as default cell editor type.
check link for details on TABLE UI
[http://help.sap.com/saphelp_erp2005/helpdata/EN/b5/ac884118aa1709e10000000a155106/frameset.htm]
easy way is to first add UI ELEMENT TABLE to your VIEW, then right click over it & select create binding from context. After you have a pop up where you can select what columns you want what should be its cell editor etc.
Greetings
Prashant
Maybe you are looking for
-
Can't save=Error -39 Logical End Of File Reached
Hi whenever I try to re-save a .jpg file, I get the "Error -39 Logical End Of File Reached." I have tryed everything I can think of: Copy/Pasting; Importing, etc. with no success. Any help would be greatly appreciated! Thanks.
-
Recreate animated text effect?
I am working on a video with mostly text, like the one below. I want to know how to recreate some of the effect used here, like when the "4" slides upwards and vertical and horizontal lines extend from it, or the point at 0:41 when the words are all
-
How to install old softwere to my ipod tuch 2
how to install old softwere to my ipod tuch 2??
-
Reinstall MI Client with new device ID
Hi guys, In MI 7.0 I removed a device ID and uninstalled the client. After reinstallation, I created same user locally and after first sync I received a new device ID. Then I assigned the xAPPL to the device ID and run new sync. After sucessfully ins
-
My songs are skipping in itunes and it is just on computer and happens when i burn to cds songs skip. My other devices the songs don't skip. And skipping is when i am playing a game or moving mouse and checking on something and it is most of songs.