Equivalent of MS Access First Function in SQL for Group By
We previously had an Access database performing operations. We are now converting it over to SQL. There are queries in Access that use the "First" function to insert data, which I have not been able to find the equivalent to in SQL. Below is an
example showing the data used, the SQL syntax and the results that it would produce.
tbl_Data
FirstN LastN CustNum TDate SalesPer
Jim Smith 11111 5/10/2014 Jim Johnson
Sally Jones 22222 5/12/2014 Alan Brown
Sally Jones 22222 5/10/2014 Ben Doers
Jim Smith 11111 5/12/2014 Jim Johnson
Frank Oliver 33333 5/15/2014 Jim Johnson
Results to be inserted into tbl_Main
FName LName CustID TransDate SalesPerson
Jim Smith 11111 5/10/2014 Jim Johnson
Sally Jones 22222 5/10/2014 Ben Doers
Frank Oliver 33333 5/15/2014 Jim Johnson
Below is the SQL that will produce this
INSERT INTO tbl_Main ( FName, LName, CustID, TransDate, SalesPerson)
SELECT td.FirstN, td.LastN, td.CustNum, First(td.TDate) As SellDate, First(td.SalesPer) As SP
FROM tbl_Data td
GROUP BY td.FirstN, td.LastN, td.Cust;
If anyone could assist me in an alternative that I could use in SQL to yield the same results, I'd appreciate it.
tbl_Data
FirstN LastN CustNum TDate SalesPer
Jim Smith 11111 5/10/2014 Jim Johnson
Sally Jones 22222 5/12/2014 Alan Brown
Sally Jones 22222 5/10/2014 Ben Doers
Jim Smith 11111 5/12/2014 Jim Johnson
Frank Oliver 33333 5/15/2014 Jim Johnson
Results to be inserted into tbl_Main
FName LName CustID TransDate SalesPerson
Jim Smith 11111 5/10/2014 Jim Johnson
Sally Jones 22222 5/10/2014 Ben Doers
Frank Oliver 33333 5/15/2014 Jim Johnson
Below is the SQL that will produce this
INSERT INTO tbl_Main ( FName, LName, CustID, TransDate, SalesPerson)
SELECT td.FirstN, td.LastN, td.CustNum, First(td.TDate) As SellDate, First(td.SalesPer) As SP
FROM tbl_Data td
GROUP BY td.FirstN, td.LastN, td.Cust;
As an aside that query is not correct in Access - because you did not specify an ORDER BY the resultset has no particular order so you could get either row for Jim or Sally.
It's a bit of a tricky one as it may on the surface appear that the resultset is always returned in a consistent order but this is not guaranteed (not in Access and certainly not in SQL server)
Similar Messages
-
What is the Oracle equivalent of the Microsoft Access FIRST function?
Using: Oracle 10gR2 RAC on SUSE Linux 9 (10.2.0.3)
In the process of converting a Microsoft Access database to Oracle, an Access query is using the FIRST function.
What is the Oracle equivalent of the Microsoft Access FIRST function?
In the attempt to convert, the Oracle FIRST_VALUE function was used. However, the same results was not achieved.
Thanks,
(BLL)
Query:
h2. ACCESS:
SELECT
TRE.GCUSNO,
UCASE([DCUSNO]) AS DCUSNO_STD,
*FIRST(UCASE([DNAME])) AS DNAME_STD*,
*FIRST(UCASE([DADDR])) AS DADDR_STD*,
*FIRST(UCASE([DCITY])) AS DCITY_STD*,
TRE.DSTATE,
FIRST(TRE.DZIP) AS DZIP,
TRE.DREGN,
TRE.DDIST,
TRE.DSLSMN,
TRE.DCHAIN,
TRE.MARKET,
TRE.MKTPGM,
TRE.EUMKT
FROM
TRE
GROUP BY
TRE.GCUSNO,
UCASE([DCUSNO]),
TRE.DSTATE,
TRE.DREGN,
TRE.DDIST,
TRE.DSLSMN,
TRE.DCHAIN,
TRE.MARKET,
TRE.MKTPGM,
TRE.EUMKT;
h2. ORACLE:
SELECT DISTINCT
TRE.GCUSNO,
UPPER(TRIM(TRE.DCUSNO)) AS DCUSNO_STD,
UPPER(TRIM(TRE.DNAME)) AS DNAME_STD,
UPPER(TRIM(TRE.DADDR)) AS DADDR_STD,
FIRST_VALUE(UPPER(TRIM(TRE.DNAME)) IGNORE NULLS) OVER (ORDER BY TRE.GCUSNO) AS DNAME_STD,
FIRST_VALUE(UPPER(TRIM(TRE.DADDR)) IGNORE NULLS) OVER (ORDER BY TRE.GCUSNO) AS DADDR_STD,
FIRST_VALUE(UPPER(TRIM(TRE.DCITY)) IGNORE NULLS) OVER (ORDER BY TRE.GCUSNO) AS DCITY_STD,
TRE.DSTATE,
TRE.DZIP,
FIRST_VALUE(UPPER(TRIM(TRE.DZIP)) IGNORE NULLS) OVER (ORDER BY TRE.DZIP ASC) AS DZIP,
TRE.DREGN,
TRE.DDIST,
TRE.DSLSMN,
TRE.DCHAIN,
TRE.MARKET,
TRE.MKTPGM,
TRE.EUMKT
FROM CRM.TREUP100R TRE
GROUP BY
TRE.GCUSNO,
UPPER(TRIM(TRE.DCUSNO)),
TRE.DNAME,
TRE.DADDR,
TRE.DCITY,
TRE.DSTATE,
TRE.DZIP,
TRE.DREGN,
TRE.DDIST,
TRE.DSLSMN,
TRE.DCHAIN,
TRE.MARKET,
TRE.MKTPGM,
TRE.EUMKT;A slight correction to odie's post. I think you want min not max to replicate the Access first function, but see below to be sure. So:
min(upper(trim(tre.dname))) keep (dense_rank first order by tre.gcusno) as dname_std
user10860953 wrote:How does one ignore null values?The min and max functions will ignore nulls automatically, so if there is a null value in tre.dname, it will not be be returned, unless all of the values are null. For example:
SQL> WITH t AS (
2 SELECT 65 id, 'ABCD' col FROM dual UNION ALL
3 SELECT 37, 'DEFG' FROM dual UNION ALL
4 SELECT 65, 'DEFG' FROM dual UNION ALL
5 SELECT 65, null FROM dual UNION ALL
6 SELECT 70, null FROM dual UNION ALL
7 SELECT 70, null FROM dual UNION ALL
8 SELECT 37, 'ABC' from dual)
9 SELECT id,
10 MIN(col) keep (DENSE_RANK FIRST ORDER BY id) min_dname_std,
11 MAX(col) keep (DENSE_RANK FIRST ORDER BY id) max_dname_std
12 FROM t
13 GROUP BY id;
ID MIN_ MAX_
37 ABC DEFG
65 ABCD DEFG
70John -
Equivalent of ValueList function in SQL
Hi,
Is there an equivalent of valueList function in SQL? Here's
what I am trying to do:
Suppose I have the following table:
Name -- Color
John -- Green
John -- Red
Mike -- White
I want to do a query such that the colors are aggregated as a
list. So the result would be:
Name -- Color List
John -- Green, Red
Mike -- White
The only way I could think of doing this is to loop through
each name in the table and doing ValueList in each loop. Is there a
better way?
Thanks.
Min> I want to do a query such that the colors are aggregated
as a list.
If it _must_ be done in sql, there are some database options.
Such as the one mentioned above. There are also some interesting
approaches using xml path and cross apply with MS SQL 2005. I do
not know about other databases.
http://databases.aspfaq.com/general/how-do-i-concatenate-strings-from-a-column-into-a-sing le-row.html
Bear in mind there are some performance implications with all
of the methods. For example, a udf would execute once for each
name. So the more records, the greater the impact.
Another possibility is to use cfoutput's group attribute to
create a list for each name. Assuming that is feasible .. -
How does one access custom function in OBIEE RPD for Session Init Block SQL
Hello:
We are using SSO for authentication and authorization for OBIEE, using Init Blocks in the RPD and httpHeader as the source of variables in the Instanceconfig.xml file. (As long as the user is member of one group, the results are fine. However, as soon as the user is assigned to multiple groups, group values become URI-encoded.)
To solve the problem of URI-encoding, we have deployed a function to the DB (ora 10gr2).
The problem I am running into is that when I call the function from an Init Block (Security), OBIEE Presentation Services (OPS) acts as though the function does not exist or is not called.
Initialization String: select group_OBIEE(WEBGROUPS) from dual
("group_OBIEE" is the function that was deployed.)
Testing: Successfully tested the function in PL/SQL as well as using the Test button in RPD.
Reason for the fuction: The function decodes the extra characters using a substr function. SSO uses Shibboleth for Authentication and Authorization.
For example, for our group name, we expect to obtain the following value:
edw:hrdir;edw:findir (2 groups separated by a semi-colon)
However, we are obtaining the following: (Determined via the narrative view in Answers: @{biServer.variables['NQ_SESSION.GROUP']} )
URI-ENCODED<edw%3ahrdir%3bedw%3bfindir>
Please note: There are no such problems when we are passing only a single group value (i.e. edw:hrdir). So, in cases when we pass only for Group for the user, we are able to authenticate and authorize w/o a problem.
Any suggestion on how to call the function or a better way to approach this problem?
Thanks in advance for your help.You don't need a function to assign the groups in your Init Block. In fact you should not use it. You need to use a standard select and define the Init Block as Row-Wise. This means the BI Server knows the Init Block will return more than one row. You select statement should look like this:
SELECT 'GROUP', YOUR_GROUP_NAME FROM YOUR GROUP_USERS_TABLE WHERE YOUR_USER_ID_COLUMN = ':USER' -
Using User Defined Function is SQL
Hi
I did the following test to see how expensive it is to use user defined functions in SQL queries, and found that it is really expensive.
Calling SQRT in SQL costs less than calling a dummy function that just returns
the parameter value; this has to do with context switchings, but how can we have
a decent performance compared to Oracle provided functions?
Any comments are welcome, specially regarding the performance of UDF in sql
and for solutions.
create or replace function f(i in number) return number is
begin
return i;
end;
declare
l_start number;
l_elapsed number;
n number;
begin
select to_char(sysdate, 'sssssss')
into l_start
from dual;
for i in 1 .. 20 loop
select max(rownum)
into n
from t_tdz12_a0090;
end loop;
select to_char(sysdate, 'sssssss') - l_start
into l_elapsed
from dual;
dbms_output.put_line('first: '||l_elapsed);
select to_char(sysdate, 'sssssss')
into l_start
from dual;
for i in 1 .. 20 loop
select max(sqrt(rownum))
into n
from t_tdz12_a0090;
end loop;
select to_char(sysdate, 'sssssss') - l_start
into l_elapsed
from dual;
dbms_output.put_line('second: '||l_elapsed);
select to_char(sysdate, 'sssssss')
into l_start
from dual;
for i in 1 .. 20 loop
select max(f(rownum))
into n
from t_tdz12_a0090;
end loop;
select to_char(sysdate, 'sssssss') - l_start
into l_elapsed
from dual;
dbms_output.put_line('third: '||l_elapsed);
end;
Results:
first: 303
second: 1051
third: 1515
Kind regards
TaoufikI find that inline SQL is bad for performance but
good to simplify SQL. I keep thinking that it should
be possible somehow to use a function to improve
performance but have never seen that happen.inline SQL is only bad for performance if the database design (table structure, indexes etc.) is poor or the way the SQL is written is poor.
Context switching between SQL and PL/SQL for a User defined function is definitely a way to slow down performance.
Obviously built-in Oracle functions are going to be quicker than User-defined functions because they are written into the SQL and PL/SQL engines and are optimized for the internals of those engines.
There are a few things you can do to improve function
performance, shaving microseconds off execution time.
Consider using the NOCOPY hints for your parameters
to use pointers instead of copying values. NOCOPY
is a hint rather than a directive so it may or may
not work. Optimize any SQL in the called function.
Don't do anything in loops that does not have to be
done inside a loop.Well, yes, but it's even better to keep all processing in SQL where possible and only resort to PL/SQL when absolutely necessary.
The on-line documentation has suggested that using a
DETERMINISTIC function can improve performance but I
have not been able to demonstrate this and there are
notes in Metalink suggesting that this does not
happen. My experience is that DETERMINISTIC
functions always get executed. There's supposed to
be a feature in 11g that acually caches function
return values.Deterministic functions will work well if used in conjunction with a function based index. That can improve access times when querying data on the function results.
You can use DBMS_PROFILER to get run-time statistics
for each line of your function as it is executed to
help tune it.Or code it as SQL. ;) -
I can access a function in a package using OCI drivers but not PDO drivers
Hello all, i am a newbie to Oracle and its drivers for PHP. I would like to use PDO, and I have my database activity in packages, which have procedures and functions. My package has overloaded functions and that has been giving me a tough time with these drivers. So one signature of my function get_data contains a four arguments and all four are numbers, while another signature of get_data has the first two as numbers and the next two as varchar2. So when I try to access this function which is part of a package, I am able to retrieve data, and the driver I am using is OCI8, but when I try to do the same with PDO, it does not work. It gives me this error,
*General error: 6553 OCIStmtExecute: ORA-06553: PLS-307: too many declarations of 'GET_DATA' match this call (/var/www/php-5.3.3/ext/pdo_oci/oci_statement.c:146)' in /var/www/pdo_check.php:251 Stack trace: #0 /var/www/pdo_check.php(251): PDOStatement->execute() #1 /var/www/pdo_check.php(345): dbPDO->execPackage2() #2 {main} thrown in /var/www/pdo_check.php on line 251 *
I got this error earlier with OCI drivers, then I added the datatype while binding the values.
Has anybody had this headache earlier??
##Works
*$qu = oci_parse($connect, 'select pack.get_data(:p1,:p2,:p3,:p4)as rc from dual');
$p1 = (int)121;
$p2 = (int)222;
$p3 = (int)324;
$p4 = (int)001;
oci_bind_by_name($qu,":p1",$p1,10,OCI_B_INT);
oci_bind_by_name($qu,":p2",$p2,10,OCI_B_INT);
oci_bind_by_name($qu,":p3",$p3,10,OCI_B_INT);
oci_bind_by_name($qu,":p4",$p4,10,OCI_B_INT);
oci_execute($qu) or die("did not execute");
$r = oci_fetch_array($qu);*
##Does not work
*$sql = 'select pack.get_data(:p1,:p2,:p3,:p4) from dual';
$result = $this->dbConnect->prepare($sql);
$p1 = (int)2;
$p2 = (int)2;
$p3 = (int)2;
$p4 = (int)6;
$result->bindParam(':p1', $p1, PDO::PARAM_INT);
$result->bindParam(':p2', $p2, PDO::PARAM_INT);
$result->bindParam(':p3', $p3, PDO::PARAM_INT);
$result->bindParam(':p4', $p4, PDO::PARAM_INT);
$result->execute();*
I am still perplexed why is PDO giving me an error, when I have virtually mentioned everything is asks for?I think the only person who can really answer this question is Chris Jones. For my money I tend to steer clear of PDO as it is a bit quirky ( at least in my experience ) and it does not support reference cursors.
-
Issue with running PL/SQL function returning Sql query
hi, I am trying to create a report region by using the option of PL/SQL function returning sql query.
I notice that it's very slow for the report region page to show up. In my PL/SQL function body, there are only 3 steps, first update all the 10 rows of varchar2 fields to null,then insert values to those fields, then select all from the table to show report results. It takes more than 5 minitues for the page to load up, how ever, if i run those steps in SQL*Plus, it only takes a couple of seconds to finish. Any suggestions?
Thanks,
ginaSergio, the codes are as followed,
Declare
q varchar2(32767); -- query
Begin
q := 'select "ID",'||
'"ENTRY NAME","TOTAL","#CM","%CM","#CA",'||
'"%CA", from Info_table';
update info_table
set "TOTAL" = '',
"#CM" = '',
"%CM" = '',
"#CA" ='',
"%CA"=''
where "ID"<=10;
// set all data in column Total to null,there is only 10 rows in the table
update info_Table set Total = vTotal,
"#CM" = vCM
(those variables hold user key-in Text filed value)
where ID = 1;
return q;
End; -
Accessing ABAP Functions in Web Dynpro Java
Hi,
I am trynig to do "Accessing ABAP Functions in Web Dynpro Java" this application, (which is the example application which i got from www.sdn.sap.com) but everything is fine no error also while dyploying.
But it is not dysplaying the first page after i run the application i am getting plain web page ,without any content.
Can any body help me.
Regards,
H.V.Swathik.. now iam getting some error on page.
I have embeded the two view in to window.
But now after running the application i am getting connection error
com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to message server host failed Connect_PM TYPE=B MSHOST=jktr3 GROUP=SPACE R3NAME=R32 MSSERV=sapmsR32 PCS=1 ERROR Group SPACE not found TIME Fri Sep 26 15:05:59 2008 RELEASE 700 COMPONENT LG VERSION 5 RC -6 MODULE lgxx.c LINE 4288 DETAIL LgIGroupX COUNTER 1
at com.sap.mw.jco.MiddlewareJRfc.generateJCoException(MiddlewareJRfc.java:457)
at com.sap.mw.jco.MiddlewareJRfc$Client.connect(MiddlewareJRfc.java:989)
at com.sap.mw.jco.JCO$Client.connect(JCO.java:3193)
at com.sap.dictionary.runtime.mdi.DataProvider.<init>(DataProvider.java:90)
at com.sap.dictionary.runtime.mdi.DataProvider.<init>(DataProvider.java:122)
... 61 more
Rgards,
H.V.Swathi -
I don't know if I should be posting this in this Forum or the BI Publisher forum, so I am posting in BOTH forums..
I love APEX, let me say that first.. And appreciate the support offered here by the group, but am running int a confusing issue when BI Publisher tries to build a report from the above type APEX report..
Here is my dilemma:
I have a number of reports that are part of a Oracle package. They return an SQL Query back to a reports region on a page. I am having to deal with the column names returned are col01, col02..
The issue I have is, when building the Application Level query to download the XML sample from in building RTF layouts in Word, you can not use this code, you MUST use a standard SQL Select.
I have taken the sql from the function returning sql, and copied into the application query, supplying the required data values for bind variables being used in the query.
An XML file is produced, and I use this to build the RTF format file that I load back into APEX and try to use it for the PDF rendering of the report. I can view the output as a PDF in the Word add on, but when I try using it with the report, it is returning an empty PDF file.
Can anyone tell me what error log files on the bi publisher side I can look at to see what error is happening?
Thank you,
Tony Miller
UTMB/EHN
Title changed, maybe SOMEONE has an idea on this??
Message was edited by:
Tony MillerHi,
1/ first check you are passing the bind variables and
appropriate values in the call to your report - if
the query returns no data then you get an empty page
So if your query takes :P10_USERNAME variable then
pass it to the report in the URL
f?p=&APP_ID.:0:&SESSION.:PRINT_REPORT=YOUR_REP_QUERY_N
AME:::P10_USERNAME:MYUSER
2/ try to use the Default layout first to check your
report query really returns the data when called
3/ if you defined a header in your rtf template check
there is no & (ampersand) - if using & in the header
and preview the template from word it displays data
OK, but if you use this template in the report query
it fails to render the data (bug in Apex-> Bi
Publisher integration maybe?)
4/ If using the table in the rtf template check its
width does not overflow the page margins - there is a
problem with pdf export
5/ check
/oc4j/j2ee/home/application-deployments/xmlpserver/app
lication.log forthe information on BI Publisher runs
RadoIssue was in the APEX page having issues.. I recoded a new page and am able to generate BI Publisher based PDF files..
Thank you,
Tony Miller
UTMB/EHN -
On Submit process not firing -report (PL/SQL function returning SQL query)
Can anyone suggest possible causes / solutions for the following problem?
I have a report region that uses a PL/SQL function returning SQL query. The report allows the user to update multiple fields / rows and then click a button to submit the page which should run the On-Submit process to update the database. However the process does not run and I get a 'HTTP404 page cannot be found' error; and when I navigate back using the Back button I cannot then navigate to any other page in my application without getting the same error. The button was created by a wizard selecting the options to submit the page and redirect to a (same) page. The button does not actually have a redirect in its definition but the wizard created a branch to the same page which should work and the button has the text 'submit as SUBMIT' next to it so it appears to be set up correctly.
I have recreated this page several times in my application and I cannot get the On-Submit process to run. However I have created a cut down version of the same page in the sample application on apex.oracle.com at http://apex.oracle.com/pls/otn/f?p=4550:1:179951678764332 and this works perfectly so I am at a loss to understand why it does not work in my application. I cannot post any part of the application itself but if anybody would like to check out page 30 of the sample application (Customer Update Test tab) updating the surnames only, using credentials ja, demo, demo this is pretty much what I have got in my application.
Any ideas would be much appreciated?Thanks for the suggestions guys. I have now identified that the problem goes away when I remove the second table from my report query. The original report query retrieved data from two tables and the process was updating only one of the tables. I thought I had approached the task logically i.e. first get the report to display the records from the two tables, then get the process to update the first table and finally to modify the process further to update the second table.
Can anyone point me to an example of multiple row updates on multiple tables using a PL/SQL function returning an SQL query? -
CONVERT function in SQL Server to oracle
All,
How to convert CONVERT function in SQL Server to oracle, below mentioned format is in SQL Server:
variable1 = convert(numeric(20), SUBSTRING( parameter1,parameter2,parameter3)
parameter1 datatype nvarchar2(100)
parameter2 datatype bigint
parameter3 datatype bigint
I did bit R&D, but was not successful..but still getting on..
If any help that would be great...
Regards,
~ORAYou cannot specify the precision/scale or length of input paramters to a stored procedure in Oracle, or at least the pl/sql engine does not respect the sizing. Assuming that you want to do something with variable1 in the procedure, and not just return it, the Oracle equivalent would be something along the lines of:
SQL> CREATE FUNCTION f (p_param1 IN VARCHAR2,
2 p_param2 IN NUMBER,
3 p_param3 IN NUMBER) RETURN NUMBER IS
4 l_var1 NUMBER(20) := SUBSTR(p_param1, p_param2, p_param3);
5 BEGIN
6 RETURN l_var1 * 10;
7 END;
8 /
Function created.
SQL> SELECT f('ABC10DEF', 4, 2) FROM dual;
F('ABC10DEF',4,2)
100You may need to adjust the return type to match what you are actually returning.
You can also use this iin a direct assignment in pl/sql without doig a select, something like:
SQL> DECLARE
2 l_num NUMBER(20);
3 BEGIN
4 l_num := f('ABC10DEF', 4, 2);
5 DBMS_OUTPUT.Put_Line('The number is: '||l_num);
6 END;
7 /
The number is: 100John -
Import MS Access 2013 tables into SQL Server 2012
Hi there,
Is there a step by step example somewhere showing how to import an MS Access 2013 table into SQL Server 2012?
I have read the existing posts and don't see a definitive answer.
I have installed MS Access 2010 engine, first 32 bit then 64 bit.
I have installed the MS Access 2013 runtime on my server.
I use the Office 2015 Access Database Engine OLE DB Provider.
I get the error:
Error 0xc0202009: Source - APEntries [1]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E37.
Error 0xc02020e8: Source - APEntries [1]: Opening a rowset for "`TableName`" failed. Check that the object exists in the database.
The post regarding the above errors doesn't resolve the issue.
I have full administrative permissions on the server.
What is the trick to making this work?
Thanks,
Ric
Ric MillerHi there,
I tried the exact same operation on a third machine.
This machine has Windows 8.1 64 bit, SQL Server 2012 64 bit, MS Office 2013 Plus 32 bit.
I am the administrator on this machine.
I installed this:
Microsoft Access Database Engine 2010 Redistributable 32 bit (because I have MS Office 2013 plus 32 bit installed.)
From here:
http://www.microsoft.com/en-us/download/details.aspx?id=13255
It won't let me install the 64 bit version without uninstalling MS Office 32 bit.
I created an MS Access database on this machine using MS Access 2013 and created a table with 3 records.
I used the "Import and Export Data (32 bit)" from the start menu.
After I installed the "Database Engine 2010 32 bit" driver above, I now have the option of "Office 2015 Access Database Engine OLE DB Provider" as Data Source which I did not have prior to doing this installation.
I selected the driver and added the Properties of the Data Source Name file location of the MS Access file. I am using a blank password.
I go thru the same sequence of selecting a table to import and after running the result is the same:
Error 0xc0202009: Source - APEntries [1]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E37.
"Error 0xc02020e8: Source - APEntries [1]: Opening a rowset for "`TableName`" failed. Check that the object exists in the database."
This seems to be consistent across three machines with three operating systems with the same files and the same result.
I understand that some people have gotten this to work.
I would appreciate it if anyone can report an error in the above procedure to me.
Thanks,
Ric
Ric Miller -
MS Access Crosstab to Oracle SQL
Gurus,
I am trying to convert MS Access Query to Oracle SQL, What would be the Oracle query for this MS Access Crosstab Query?
I am working on Oracle 10g so, I can't take advantage of oracle PIVOT function.
Thank you
Edited by: 951334 on Aug 10, 2012 6:52 AM
Edited by: 951334 on Aug 13, 2012 5:51 AMif your crosstab columns are static you can use well-known technique like
select tablespace_name,
sum(case segment_type when 'TABLE' then bytes end) TABLES_BYTES,
sum(case segment_type when 'INDEX' then bytes end) INDEXES_BYTES,
sum(case segment_type when 'LOBSEGMENT' then bytes end) LOB_BYTES
from dba_segments
group by tablespace_name;
for dynamic crosstab columns you require to build this query dynamically in application -
I want to know if is better to use function or procedure for my problem.
First i need to read sql -> SELECT name, surname, date FROM ZKET_ZAPOSLENCI to get all data
When i get all data i need to use name and surname and change it with $name and $surname in some text.
Some text is:
Hello,
Worker $name $surname will be ...
Output must be:
Hello,
Worker Marco Kostrevc will be ..
and it must be inserted in database.
How can i make this?
regards
Edited by: senza on 15.9.2008 9:17that you will not say that i am not doing anything
Code i try to make
create or replace procedure showcol (
statement in varchar2,
text_in in varchar2)
is
type cv_type is ref cursor;
cv cv_type;
val varchar2(32767);
procedure display_header_info ... end;
begin
/*construct the very dynamic query and open the cursor*/
open cv for || stavek;
loop
/*fetch the next row, and stop if no more rows*/
fetch cv into val;
exit when cv%notfound;
/*display the data, with a header before the first row*/
if cv$rowcount = 1
then
display_header_info(text_in, statement);
end if;
dbms_output.put_line (val);
end loop;
close cv; --al done clean up
end;
{code}
here i want to make replacement and return value (row by row) but do not how?
Edited by: senza on 16.9.2008 13:25
Edited by: senza on 16.9.2008 13:40 -
Help with sign and replacestr functions in SQL
I am trying this:
In a full name if the Middle Initial is null then add an additional space between the First name and last name else select the full name itself.
For to check for the spaces I am subtracting first occurrence of space - second occurrence of space using instr function
I have to use sign function to check for "-value", if the value is -ve then don't do any thing and if it is equal to 0 add one more space to the name.
But how can i use decode here to select the original column if sign is a negative value.
My sql:
IIF(SIGN(INSTR(o_full_name,' ')- (INSTR(o_full_name,' ',1,2)))=0,REPLACESTR(1,o_full_name,' ',' '))
gow can i use decode in place off IIFthis examples might help if the names are in separate columns.
SQL> create table telephone_list
2 (first_name varchar2(20),
3 middle_initial varchar2(2),
4 last_name varchar2(20));
Table created.
SQL> insert into telephone_list
2 values
3 ('Scott',null,'Tiger');
1 row created.
SQL> insert into telephone_list
2 values
3 ('John','T','Perl');
1 row created.
SQL> insert into telephone_list
2 values
3 ('Kim',null,'Molit');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from telephone_list;
FIRST_NAME MI LAST_NAME
Scott Tiger
John T Perl
Kim Molit
SQL> select decode(middle_initial,null,first_name||' '||last_name,
2 first_name||' '||middle_initial||' '||last_name)
3 full_name
4 from telephone_list;
FULL_NAME
Scott Tiger
John T Perl
Kim Molit
SQL> is the name in one column only? please post a sample data. thanks.
Maybe you are looking for
-
Connecting TV and Monitors to your PC
Hi I have seen this question asked several times on this forum. Here is the best video that I have seen. It is made by HP support. I don't understand why these threads can't be made stickies. It sure would save advisiors a lot of time. Dokie!!! http:
-
Ago function not working in reports
Hi I created a logical column using ago function,when I'm using this column in the report it throws the following error.I'm using 10.1.3.4.1 version of OBIEE. Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY0
-
Hi All, I have a material which is both Procurred and Produced inhouse. I have Material Master Price control for this material as V (Moving Average). Now when i raise a production order and do a GR for this material, my stock gets updated by the pric
-
Help my Mac pro is showing 'AFP CONNECTION STATUS" looking up "wildlife"
hi I am facing a problem that in some of my clients after about every 2 to 3 sec. a massage pop up on finder that "AFP CONNECTION STATUS" LOOKING UP "WILDLIFE" and it keeps on coming . First it was coming on My Xserve (after i delete some footage fro
-
I have recently added an iPhone 4s, and cleaned out the hard drive of my eMac to use solely for iTunes, but now it will not let me download iCloud items from iTunes Match. Do I need to change settings on the iPhone, or did I erase something I should