Answer from a sql query into a java variable ?
Hey!
Got a simple question :
String dml = ("INSERT INTO student " +
"VALUES ( SELECT MAX(id) +1 FROM student " +
"','" + student.getFornavn() +
"','" + student.getEtternavn() +
"','" + student.getKlasse() + "')");This sql syntax would work in sql+ , but for some reason not in java.. Need to add 1 to max id every time new student are added , or is there any way i could make sql add a new unique nubmer when id = NULL ?
The other solution could be to get the answer from SELECT MAX (id) + 1 into a java variable and use that number value in insert query ?
Or maybe the best would be to make a procedure ?
Thanks!
How would the syntax be to execute this procedure in java :
CREATE OR REPLACE PROCEDURE legg_til_student (p_fnavn student.fornavn%TYPE, p_enavn student.etternavn%TYPE, p_klasseid student.klasseid%TYPE) IS
v_id student.id%TYPE;
BEGIN
SELECT MAX(id) +1 INTO v_id
FROM student;
IF p_klasseid > 3 THEN
DBMS_OUTPUT.PUT_LINE ('Ugyldig klasseid');
ELSE
INSERT INTO student VALUES (v_id, p_fnavn, p_enavn, p_klasseid);
END IF;
END;
/Only this into a stmt sentence ? :
exec legg_til_student ('Test', 'Test', 2); ? thanks :)
Similar Messages
-
Can I put a SQL query into a bind variable and then use it to output report
Hi,
Can I put a SQL query into a bind variable and then use it to output report?
I want to create a report and an item "text area" (say P1_TEXT) which can let user to input a SQL query(they are all technical users and knows SQL very well). Then, I use a bind variable (that text area) to store the SQL statement. Then, I add a submit button and I want to use the following to output the report:
select * from (:P1_TEXT);
Do you think it is possible to do that? Any known limitations for APEX in this area?
Thanks a lot,
AngelaYou can, but make sure it's what you really want to do. Make sure you are VERY familiar with SQL Injection. Most people who know what it is, go out of their way to prevent SQL Injection. You're going out of your way to allow it.
You can try using &P1_TEXT. instead of bind variable syntax. Bind variables are one of the best ways to prevent SQL Injection, which is why it's not working for you.
Once again, I strongly urge you to consider the implications of your app, but this suggestion should get it working.
Tyler -
Displaying the ResultSet from and sql database into a java Table in the sam
i seriously need help in displaying the contents of my sql database into a table im my java application when someone types a query into a field provided..
thanks guys !!What kind of help do you need.
Are you stuck at some point of your code?
Is you code not working?
Or do you want us to write the code? -
Input result from a SQL-query into a Variable in ProcessFlow
I am trying to select a value from a table with file names.
This file name should be input to an ftp function. I use a owb function to read the file name then I try to asign the result to a variable.
The function GET_FILENAME looks like
f_name varchar2(30);
BEGIN
select distinct FILENAME_SOURCE into f_name from CTL_SOURCE_FILES
where FILEID = (select min(FILEID) from CTL_SOURCE_FILES where status is null);
RETURN f_name;
END;
When running it as a SQL-script it returns only one row/name.
When I am running it in the ProcessFlow the following message is found:
RPE-02040: Internal error: GET_FILENAME cannot be converted to a constant value.Let me talk about this in context of a mapping:
create a mapping :
use a function within a mapping
assign the output of the mapping to a mapping input variable"
use this mapping within your process flow and see if it works.
if you are directly going to use the output of a function in a process flow , the FTP should be able to accept the filename from the outparam of the function which i am not sure how it works.
try using the first approach as it is relatively simple and straightforward. -
Script task to convert output from a sql query into send mail task body formatting
SSIS 2008R2 Version
Code from script task
Microsoft SQL Server Integration Services Script Task
Write scripts using Microsoft Visual C# 2008.
The ScriptMain is the entry point class of the script.
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
namespace ST_29dd6843bd6c4aee9b1656c1bbf55ba8.csproj
[System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
#region VSTA generated code
enum ScriptResults
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
#endregion
public void Main()
Variables varCollection = null;
string header = string.Empty;
string message = string.Empty;
Dts.VariableDispenser.LockForWrite("User::gsEmailMessage");
Dts.VariableDispenser.LockForWrite("User::gsWebserviceName");
Dts.VariableDispenser.LockForWrite("User::gsNoOfCallsInADay");
Dts.VariableDispenser.LockForWrite("User::gsCalledBySystem");
Dts.VariableDispenser.GetVariables(ref varCollection);
//Set the header message for the query result
if (varCollection["User::gsEmailMessage"].Value == string.Empty)
header = "Hi, Count is greater then 50 :\n\n";
//header = "Execute SQL task output sent using Send Email Task in SSIS:\n\n\n";
header += "----------------------------------------------------------------------------------------------------------------------" + "\n";
header += string.Format("{0}\t\t\t\t{1}\t\t{2}\n", "WebService Name", "No Of Calls In A Day", "Called By System");
header += "----------------------------------------------------------------------------------------------------------------------" + "\n";
varCollection["User::gsEmailMessage"].Value = header;
//Format the query result with tab delimiters
message = String.Format("<HTML><BODY><P>{0}</P><P>{1}</P><P>{2}</P></BODY></HTML>",
varCollection["User::gsWebserviceName"].Value,
varCollection["User::gsNoOfCallsInADay"].Value,
varCollection["User::gsCalledBySystem"].Value);
varCollection["User::gsEmailMessage"].Value = varCollection["User::gsEmailMessage"].Value + message + "\n";
Dts.TaskResult = (int)ScriptResults.Success;
Above code will return data in below format and then i send this output in aemail using send mail task.
Hi, count is greater then 50 :
WebService Name
No Of Calls In A Day Called By System
WebServiceone 1
Internetbutiken
WebServiceGetdetailstwo 1
Internetbutiken
Servicenamethree 2
MOB
As you can see above code is not in align as if we service name is shorter then 2nd column get disallign and its not look good.I need output should be like below.
Hi, count is greater then 50 :
WebService Name
No Of Calls In A Day Called By System
WebServiceone 1
Internetbutiken
WebServiceGetdetailstwo 1
Internetbutiken
Servicenamethree 2
MOB
Please suggest something...
Thanks
SR_MCTSSee code explained here
http://microsoft-ssis.blogspot.in/2013/08/sending-mail-within-ssis-part-2-script.html
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs
This will not help.As I am not creating smtp connectin ,send from ,send to in script task.I am just creating email body from sql output. -
Retreiving a value from and SQL query
If anyone can give me sample code or pointers to retreive a value from an sql query, I'd be greatful.
Source code I've muddled together so far:
Class seqNumType = Class.forName(nameOfClass);
Constructor theConstructor = seqNumType.getConstructor(null);
Object seqNumInstance = theConstructor.newInstance(null);
String theStatement = "SELECT value INTO v_seqnum FROM DUAL;";
OracleCallableStatement ocs = (OracleCallableStatement)conn.prepareCall(theStatement);
ocs.registerOutParameter( 1, OracleTypes.NUMBER, 0);
Method method = seqNumInstance.getClass().getMethod("getORADataFactory", null);
seqNumInstance = ocs.getORAData(1, (ORADataFactory)method.invoke(null,null));
ocs.execute();
Problem with this seems to be the ORADataFactory isn't a method of the class, but as I'm thumbling around in the dark here a little, I've no idea where to go from here. Is this just generally overkill anyway?
Suggestions?
Cheers for any help.Like this:
ResultSet resultSet=statement.executeQuery("SELECT * FROM TEST");
while(resultSet.next())
for(int i=0;i<resultSet.getMetaData().getColumnCount();i++)
System.out.print(resultSet.getObject(i+1).toString()+" ");
System.out.println(); -
Help with SQL query into Crystal
Afternoon all,
I am trying to convert the following SQL query into Crystal by using the tables given in the query however the relationship given in the query is bit awkward, in a sense that I cannot create a relationship under Crystal desgin.
Here is the query
select count(order_progressed.order_no),reason_code
from order_progressed,lab_reasons, rework_groups
where
order_progressed.date_created=Today
and (order_progressed.order_status=from_gate
and lab_reasons.reason_code between from_reason and to_reason)
group by lab_reasons.reason_code
order by 2
We have three tables
1: Order_Progressed
2: Lab Reasons
3: Rework_Groups
Order_progressed can be linked with rework_group by Status (if you see the line order_progressed.order_status=from_gate)
However how to link the following line?
lab_reasons.reason_code between from_reason and to_reason
I mean when I try to link it by Lab Reasons.Reason Code to From_reason, to reason, it doesn't seem to work.
The report is grouped by Lab Reasons. Reason Code, so I really have to some how create a relationship between Lab Reasons table and Rework_Group table.
This is what I get when I run the same query into Crystal using the relationship
SELECT lab_reasons.reason_code, order_progressed.date_created, order_progressed.order_no
FROM maxmast.lab_reasons lab_reasons, kevin.order_progressed order_progressed,
roger.rework_groups rework_groups
WHERE (order_progressed.order_status=rework_groups.from_gate) AND
((lab_reasons.reason_code=rework_groups.from_reason) AND
(lab_reasons.reason_code=rework_groups.to_reason)) AND (order_progressed.date_created>={ts
'2008-01-01 00:00:00'} AND order_progressed.date_created<={ts '2008-12-17 00:00:00'})
Any ideas?
Many thanks
Kind Regards
JehanzebSastry I didn't understand why did you use Lab_reasons.reason_code twice in your SQL.
What I have done since I posted this thread,
I created a command like this
Select *
from rework_groups,lab_reasons
where
lab_reasons.reason_code between from_reason and to_reason
Then I took out the lab_reasons table and rework_groups table, then I linked the order_status from Order_progressed table to From_gate of the newly created table (I called it Reason_Code).
This made the report running but it is crunching quite allot of numbers. I wonder if I made a mistake somewhere?
Oh and please note, I'd like to create an SQL (if need be) without the date entry which was done in the original SQL because I'd like to setup my own date range within Crystal Reports instead of getting passed by SQL itself.
This is how it looks like in Crystal now.
sae1_live
SELECT order_progressed.date_created, order_progressed.order_no, order_progressed.order_status
FROM kevin.order_progressed order_progressed
WHERE (order_progressed.date_created>={ts '2008-01-01 00:00:00'} AND
order_progressed.date_created<={ts '2008-12-17 00:00:00'})
EXTERNAL JOIN order_progressed.order_status={?sae1_live: Reason_Code.from_gate}
sae1_live
Select *
from rework_groups, lab_reasons
where lab_reasons.reason_code between from_reason and to_reason
EXTERNAL JOIN Reason_Code.from_gate={?sae1_live: order_progressed.order_status}
Regards
Jehanzeb -
Hello,
We are seeing a lot of log messages like the one below when an MDO select query is run. There is a message for every numeric column. There doesnt seem to be any issue with the queries working properly its just creating a lot of log messages. Has anyone else had this issue?
Exception of type com.sap.sql.log.OpenSQLException caught:
Cannot fetch column 22, which has JDBC type DOUBLE, into a Java variable of type
float..
[EXCEPTION]
com.sap.sql.log.OpenSQLException: Cannot fetch
column 22, which has JDBC type DOUBLE, into a Java variable of type float.
at com.sap.sql.log.Syslog.createAndLogOpenSQLException(Syslog.java:83) ...Hi Christian,
You are right. As in your case it is a select query it does not reflect the error automatically. In my case, I had an insert query so it failed then and there, which was easier to debug and fix.
I have one question regarding your case. When you read the MDO using the query, what do you do with the output? Do you assign it to any local/transaction property in the output links of the query block or in a proceeding assignment block?
Because, the error mentions that the assignment of float to double datatype fails. So, in theory there should be some assignment done with the output.
Please check if you could figure out this part in your transaction.
Regards,
Saumya Govil -
Hi! I am a newbie in PL/SQL..
Can somebody teach me on how to make this SQL QUERY into a PROCEDURE?
TABLE 1: LOGS
TABLE 2: MASTER LIST
Logs = records the logs
Master list = list of all registered name.
select * from table1
where not exists
select host, user, name
from table2
where table2.host = table1.host and
table2.user = table1.user and
table2.name = table1.name
TABLE 1
HOST | USER | NAME
==============
1 | A | A1
1 | A | A1
1 | A | A1
1 | A | D1
TABLE 2
HOST | USER | NAME
=============
1 | A | A1
1 | A | B1
1 | A | C1
Result:
HOST | USER | NAME
===============
1 | A | D1
Thanks. :)QKWS wrote:
Hi! I am a newbie in PL/SQL..
Can somebody teach me on how to make this SQL QUERY into a PROCEDURE?
TABLE 1: LOGS
TABLE 2: MASTER LIST
Logs = records the logs
Master list = list of all registered name.
select * from table1
where not exists
select host, user, name
from table2
where table2.host = table1.host and
table2.user = table1.user and
table2.name = table1.name
TABLE 1
HOST | USER | NAME
==============
1 | A | A1
1 | A | A1
1 | A | A1
1 | A | D1
TABLE 2
HOST | USER | NAME
=============
1 | A | A1
1 | A | B1
1 | A | C1
Result:
HOST | USER | NAME
===============
1 | A | D1
Thanks. :)Hi,
Question is not clear, really.
Do you want that, I don't sure?
CREATE TABLE t1 ( CHOST NUMBER, CUSER VARCHAR2(10), CNAME VARCHAR2(10));
INSERT INTO t1 VALUES(1,'A','A1');
INSERT INTO t1 VALUES(1,'A','A1');
INSERT INTO t1 VALUES(1,'A','A1');
INSERT INTO t1 VALUES(1,'A','D1');
Commit;
CREATE TABLE t2 AS SELECT * FROM t1;
INSERT INTO t2 VALUES(1,'A','A1');
INSERT INTO t2 VALUES(1,'A','B1');
INSERT INTO t2 VALUES(1,'A','C1');
commit;
select * from t1 table1
WHERE NOT EXISTS
( SELECT 1 FROM t2 table2
WHERE table2.chost = table1.chost
AND table2.cuser = table1.cUSER
AND table2.cNAME = table1.cNAME
DECLARE
P_HOST T1.CHOST%TYPE;
P_USER T1.CUSER%TYPE;
P_NAME T1.CNAME%TYPE;
BEGIN
select CHOST, CUSER,CNAME INTO P_HOST,P_USER, P_NAME
from t1 table1
WHERE NOT EXISTS
( SELECT 1 FROM t2 table2
WHERE table2.chost = table1.chost
AND table2.cuser = table1.cUSER
AND table2.cNAME = table1.cNAME
dbms_output.put_line('HOST | USER | NAME : '|| TO_CHAR(P_HOST)||' | '||P_USER||' | '||P_NAME);
END;
/Regards
Mahir M. Quluzade -
Get Number of rows from a sql query.
I am reading data from a sql query in a BLS transaction and I would like to know the number of rows returned.
Is there an easy way to do this without looping through the table?
Thanks JasperHi Jasper,
You can use the XPATH count function similar to this:
GetTagList.Results{count(/Rowsets/Rowset/Row)}
Kind Regards,
Diana Hoppe -
Copying SQL Script from Oracle SQL Developer into Excel with formatting
I need to copy a SQL Script into Excel in order to develop some VBA code. Is there any nice way that I can copy SQL Script from Oracle SQL Developer into Excel and retain its formatting? I am a stickler for having legible, readable SQL and like to have all my columns lined up and aliases lined up. When we used to use SQL Navigator, the tab formatting seemed to copy and paste just fine. Now that we have migrated to Oracle SQL Developer, the formatting seems to get all messed up.
And suggestions are greatly appreciated and Thanks in advance for your review and am hopeful for an answer.
Thanks.
PSULionRPI suppose you want a real tabulator instead of spaces. You can configure this in the preferences (SQL Formatter - Oracle). You have to apply it then to your existing code (e.g. CTRL-F7), but new code should get it right from the start.
Hope that helps,
K. -
Re: How to converting from PL/SQL query to T-SQL query
How to converting from PL/SQL query to T-SQL query... Its Urgent
Download the
SQL Server Migration Assistant for Oracle. It will convert whole Oracle databases, or single queries or PL/SQL stored procedures.
With caution that If your database is using Collation which is case sensitive SSMA will not work.SSMA doesnt guarantees 100% for conversion of Queries/stored proc /database if it fails to do so for some queries you will have to do it manually.
But you can try
Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers -
Why some columns are not read into Power Pivot when reading data from a SQL query
I have this SQL query that I want to use to read data to PowerPivot from:
SELECT Score.FieldCount as fieldcount, Score.Record.GetAt(0) as predicted_gender, Score.Record.GetAt(1) as probability_of_gender, Score.Record.GetAt(2)
as probability_of_m,
Score.Record.GetAt(3) as probability_of_f, Score.Record.GetAt(4) as customerkey
FROM
SELECT * FROM dbo.myCLR1(
dbo.MyCLR2('c:\fILES\MLSM.xml'),
'SELECT * FROM [dbo].[Customer]') Input
) Score
After I click 'Finish' in "Table Import Wizard", I can only get 1 column (FieldCount) in Power Pivot window. Why don't I get the other 4 columns? If I save the result to a table I do get all columns but my goal is to dynamically present the result
so that's not an option. Can anyone shed some light?
Thanks,
Chu
-- Predict everything. http://www.predixionsoftware.comIf I only pass in query as
SELECT * FROM dbo.myCLR1(
dbo.MyCLR2('c:\fILES\MLSM.xml'),
'SELECT * FROM [dbo].[Customer]') Input
I do get 2 columns (FieldCount and Record as shown below)
-- Predict everything. http://www.predixionsoftware.com -
How to present results from a sql-query in java
Hi - I'm having problems finding out how to present data from a database-query in a nice looking way in a JFrame. Want to present them similar to the way they are presented in the database. Is there an easy way doing this?
Tried to use a JTable, but it's difficult when data in the table should be able to change all the time, i.e the number of rows. What is a Html-table? Can i use it in an application?
-
Last Result from Fulltext SQL Query Search Not Showing
I am creating a custom search results page for MOSS 2007 (using inline .aspx code - don't ask) that uses Fulltext SQL Queries. I get the results in a ResultTable (see code below) and then use a DataTable to write code to display it (I could have used
a DataGrid, I know).
The problem is that the last result is not showing. So, if it reports that there are 5 results, only 4 will show. I have verified that all 5 results do exist (using a slightly broadened query). If it reports 1 result, none exist in the DataTable that loads
the result data from the ResultTable.
FullTextSqlQuery query = new FullTextSqlQuery(site);
query.ResultTypes = ResultType.RelevantResults;
query.QueryText = qry;
query.RowLimit = 50;
query.StartRow = iPage;
try
ResultTableCollection results = query.Execute();
ResultTable resultTable = results[ResultType.RelevantResults];
DataTable table = new DataTable();
table.Load(resultTable, LoadOption.OverwriteChanges);
int n = resultTable.TotalRows;
The variable "qry" is a valid SQL Query with the relevant clauses.
I am using a foreach loop to go through "table" (a DataTable), and so I do not think that I have a "one-off error".
Any suggestions would be most welcome.So in results you have all items but when you are loading it into table (type DataTable) you are loosing one last record.
1) First you check what data you are getting in resultTable - as you are specifying RelevantResult
2) Check last index of data in ResultTable collection and try to find out the last index ResultTable, or try to find last index of data in result table
DataTable.Load method accepts parm of type IDataReader and IDatareader, there are cases it looses records if not read properly..check below links
http://stackoverflow.com/questions/8396656/why-does-my-idatareader-lose-a-row
http://msdn.microsoft.com/en-us/library/system.data.datatable.load(v=vs.110).aspx
<hr> Mark ANSWER if this reply resolves your query, If helpful then VOTE HELPFUL <br/> <b><a href="http://insqlserver.com">Everything about SQL Server | Experience inside SQL Server </a></b>-<a href="http://insqlserver.com">Mohammad
Nizamuddin </a>
Maybe you are looking for
-
Am running Firefox 7.0.1 now. Normal memory usage is 157mb but when running Facebook (not running apps nor games), it goes up to 553mb Why?
-
Connecting core switch to the internet ?
Hi, We have 2 6506's connected through an ether-channel trunk. On these 6506's we have configured a vlan, vlan interface and 2 access ports for 2 ASA's. These ASA's run in failover mode but only one ASA is physically connected at the moment. We want
-
Can I use 1066mhz in my 800mhz?
I have a 2008 2x2.8ghz Quad-Core Intel Xeon which uses DDR2 800mhz? A friend is offering me 2x2gb of 1066mhz memory. Can I use it?
-
so I'm stuck on the setup account page. How do I used my email address if it is already in use?
-
Can NOT install "Installation Disc" ---OS 10.5 --- on 2007 MacBook
Trying to reinstall the OS on my Granddaughter's MacBook. It is a late (December)2007 model White MacBook. Model 3.1 I am trying to reinstall the OS by using the Installation Disks that came with the MacBook Disks are OSX version 10.5.4. However, whe