Select Statement inside the insert statement
I need to insert the values into nav_pending by selecting the values from nav table
when i write this code its giving missing expression error
Can i know what is the problem??
can i use select inside insert in oracle????
INSERT INTO NAV_PENDING (ACCOUNT_NUM,PERIOD_DTE)
VALUES
SELECT ACCOUNT_NUM,PERIOD_DTE
FROM NAV where ACCOUNT_NUM=1;
Thanks in advance
Leave the values keyword
INSERT INTO NAV_PENDING (ACCOUNT_NUM,PERIOD_DTE)
SELECT ACCOUNT_NUM,PERIOD_DTE
FROM NAV where ACCOUNT_NUM=1;
Similar Messages
-
Decode Statement Inside the Case statement
Can we use Decode Statement inside a CASE Statement as show below --
It is giving an error -- Is the a better way to write with out any error
create or replace
function test (a varchar2) RETURN VARCHAR2
is
m varchar2(20);
begin
m :=
CASE
WHEN a IN (
'1009' -- (soon obsolete)
,'1010'
,'1019'
,'1051'
,'XGP'
,'XSC')
THEN (SELECT DECODE(v_lef_cd,'NAM','71','GLB','99','01') into m FROM DUAL)
-- ) THEN '01' -- UNITED STATES OF AMERICA
WHEN a IN (
'1069' -- South Africa
,'SAO' -- South Africa
,'SA' -- South Africa
) THEN '26' -- South Africa
ELSE NULL
END;
return m;
end;Hi,
You can only use DECODE in SQL statements.
Your SELECT DECODE (...) INTO statement would work anywhere a PL/SQL statement is allowed; but PL/SQL statements are not allowed within CASE expressions.
Remember, the expression that comes after THEN in a CASE expression must be a single value.
I would write a function like this using IF ... ELSIF statements. It's a little more typing than CASE, but a lot easier to code, test and maintain.
If you want to use CASE, here's one way:
... m := CASE
WHEN a IN ('1069', 'SAO', 'SA')
THEN '26' -- South Africa
WHEN a NOT IN ('1009', '1019', '1051', 'XGP', 'XSC')
OR a IS NULL
THEN NULL
WHEN v_lef_cd = 'NAM'
THEN '71'
WHEN v_lef_cd = 'GLB'
THEN '99'
ELSE '01' -- USA
END;This assumes that you have a variable v_lef_cd defined.
If you want, you can nest CASE expressions, like this:
... m := CASE
WHEN a IN ('1069', 'SAO', 'SA')
THEN '26' -- South Africa
WHEN a IN ('1009', '1019', '1051', 'XGP', 'XSC')
THEN CASE v_lef_cd
WHEN 'NAM'
THEN '71'
WHEN 'GLB'
THEN '99'
ELSE '01' -- USA
END
END;Always format your code, so you can see where the CASE expressions and each of the WHEN clauses begin and end.
When posting formatted text on this site, type these 6 characters:
(all small letters, inside curly brackets) before and after sections of formatted text, to preserve spacing. -
Using the Insert statement in a Java program without hardcoding the data
hello.
this is james mcfadden. i have developed a program called Demo.java, which is used with another program called QueryTableModel.java (a program that allows data to be viewed in a JTable). The Demo.java program displays a menu, connects to a database, allows the user to add data into the database and allows the user to view data that is already in the database. I have a problem with the Demo.java program. I have hardcoded the Insert statement in it. How do you use the Insert statement to put data into a database without hardcoding the data?
import java.awt.*;//Contains all of the classes for creating user interfaces and for painting graphics and images
import java.awt.event.*;//Provides interfaces and classes for dealing with different types of events fired by AWT components
import javax.swing.*;//Provides a set of lightweight components that, to the maximum degree possible, work the same on all platforms
import javax.swing.table.*;//Provides classes and interfaces for dealing with javax.swing.JTable
import javax.swing.JOptionPane;//provides a class that makes it easy to pop up a standard dialog box that prompts users for a value or informs them of something
import java.sql.*;//Provides the API for accessing and processing data stored in a data source using the Java programming language
public class Demo extends JFrame{
static String url = "jdbc:odbc:VideoLibrary";//a static variable that allows a connection to be made to a database called VideoLibrary
static Statement stmt;//a static variable that allows a statement to be made once a connection is set up
static Connection con;//a static interface that allows a connection to be made to a database
//global variables
JTextField hostField;//a class that allows a line of text to be changed
JTextField queryField;//a class that allows a line of text to be changed
QueryTableModel qtm;//a class that shows and changes regular two-dimensional tables of cells
JComboBox comboBox;//a class that puts a button or editable field and a drop-down list together
public static void main(String args[]){
int choice=-1;//a variable of type int that is set to -1
do{
choice=getChoice();//invokes the method getChoice()
if(choice!=0){
getSelected(choice);//invokes the method getSelected(choice)
}//end if
//if the user chooses 5, it will cause him or her to exit the system
}while(choice!=5);//end do-while
System.exit(0);//closes down the menu screen
}//end main
public static int getChoice(){
String choice;//a variable of type string
int ch;//a variable of type int
choice = JOptionPane.showInputDialog(null,"1. Maintain product details\n"+"2. Maintain member details\n"+"3. Maintain rental details\n"+"4. View product, member and rental details\n"+"5. Log Off\n\n"+"Enter your choice");//asks the user for some input
ch = Integer.parseInt(choice);//a class that wraps a value of the primitive type int in an object
return ch;//a method that returns an integer value
}//end getChoice
public static void getSelected(int choice){
if(choice==1){
maintainProductDetails();//invokes the method maintainProductDetails()
}//end if
if(choice==2){
maintainMemberDetails();//invokes the method maintainMemberDetails()
}//end if
if(choice==3){
maintainRentalDetails();//invokes the method maintainRentalDetails()
}//end if
if(choice==4){
Demo test = new Demo();//invokes the constructor Demo()
test.setVisible(true);//shows the JTable component by marking it as visible
}//end if
}//end getSelected
public static Connection getConnection(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//used to create a JDBC connection using a database
}//end try
catch(java.lang.ClassNotFoundException e){//causes an exception to be thrown when an application tries to load in a class through its string name
System.err.print("ClassNotFoundException: ");//displays an error message
System.err.println(e.getMessage());//returns the exception that was raised if an error occurred while attempting to load the ClassNotFoundException class
}//end catch
try {
con=DriverManager.getConnection(url,"","");//tries to create a connection with the database using the DriverManager class
}//end try
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());//returns an SQL error message
}//end catch
return con;
}//end getConnection
public static void maintainProductDetails(){
Connection con = getConnection();//creates a connection with the database
String addProduct1, addProduct2, addProduct3, addProduct4, addProduct5, addProduct6, addProduct7, addProduct8, addProduct9, addProduct10;//string variables that represent information about the different types of product data that will be stored in the database
addProduct1 = "insert into Product values (110001, 'The Killers - Sams Town', 5.00, 'G', 'CD', 2006)";
addProduct2 = "insert into Product values (110002, 'Robbie Williams - Rudebox', 5.00, 'G', 'CD', 2006)";
addProduct3 = "insert into Product values (110003, 'Razorlight - Razorlight', 5.00, 'G', 'CD', 2006)";
addProduct4 = "insert into Product values (110004, 'My Chemical Romance - The Black Parade', 5.00, 'G', 'CD', 2006)";
addProduct5 = "insert into Product values (110005, 'Snow Patrol - Eyes Open', 5.00, 'G', 'CD', 2006)";
addProduct6 = "insert into Product values (110006, 'Scissor Sisters - Ta-Dah!', 5.00, 'G', 'CD', 2006)";
addProduct7 = "insert into Product values (110007, 'Lovesounds - Justin Timberlake', 5.00, 'G', 'CD', 2006)";
addProduct8 = "insert into Product values (110008, 'Director - We thrive on big cities', 5.00, 'G', 'CD', 2006)";
addProduct9 = "insert into Product values (110009, 'Roxette - Roxette hits', 5.00, 'G', 'CD', 2006)";
addProduct10 = "insert into Product values (110010, 'Pussy Cat Dolls - PCD', 5.00, 'G', 'CD', 2006)";
try {
stmt = con.createStatement();//Creates a Statement object for sending SQL statements to the database
//statements are allowed to be made once a connection is set up
stmt.executeUpdate(addProduct1);
stmt.executeUpdate(addProduct2);
stmt.executeUpdate(addProduct3);
stmt.executeUpdate(addProduct4);
stmt.executeUpdate(addProduct5);
stmt.executeUpdate(addProduct6);
stmt.executeUpdate(addProduct7);
stmt.executeUpdate(addProduct8);
stmt.executeUpdate(addProduct9);
stmt.executeUpdate(addProduct10);
stmt.close();//closes the Statement object
con.close();//terminates the connection with the database
}//end try
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());//returns an SQL error message
}//end catch
}//end maintainProductDetails
public static void maintainMemberDetails(){
Connection con = getConnection();//creates a connection with the database
String addMember1, addMember2, addMember3, addMember4, addMember5, addMember6, addMember7, addMember8, addMember9, addMember10;//string variables that represent information about the member data that will be stored in the database
addMember1 = "insert into Member values (1234, 'Ann', 'Smyth', 'Upper Killult, Falcarragh, Co. Donegal', '(074)-9135210', '(087)-2030172', #5/11/85#, #5/12/06#)";
addMember2 = "insert into Member values (2345, 'John', 'Murphy', 'Lower Killult, Falcarragh, Co. Donegal', '(074)-9135211', '(087)-2030173', #4/12/85#, #6/13/06#)";
addMember3 = "insert into Member values (1324, 'James', 'McFadden', 'Lower Ardsbeg, Gortahork, Co. Donegal', '(074)-9165314', '(087)-2030171', #4/11/85#, #6/14/06#)";
addMember4 = "insert into Member values (1235, 'Frankie', 'Ferry', 'Ardsmore, Gortahork, Co. Donegal', '(074)-9165325', '(087)-2031234', #6/13/60#, #6/15/06#)";
addMember5 = "insert into Member values (1236, 'Daniel', 'McKimm', 'Ballyness, Falcarragh, Co. Donegal', '(074)-9135212', '(087)-2030184', #5/14/73#, #6/16/06#)";
addMember6 = "insert into Member values (2346, 'Stephen', 'Doohan', 'Ballyness, Falcarragh, Co. Donegal', '(074)-9135213', '(087)-2030185', #6/13/85#, #5/13/06#)";
addMember7 = "insert into Member values (2347, 'James', 'Ferry', 'Meenlaragh, Gortahork, Co.Donegal', '(074)-9165360', '(087)-2031345', #9/12/85#, #5/14/06#)";
addMember8 = "insert into Member values (2348, 'Liam', 'Cannon', 'Derryconner, Gortahork, Co.Donegal', '(074)-9165324', '(087)-2031456', #4/11/86#, #5/15/06#)";
addMember9 = "insert into Member values (2401, 'Ciaran', 'Ferry', 'Brinalack, Gweedore, Co.Donegal', '(074)-9176425', '(087)-2030282', #9/12/85#, #5/16/06#)";
addMember10 = "insert into Member values (2402, 'Ciaran', 'McGee', 'Derrybeg, Gweedore, Co.Donegal', '(074)-9176536', '(087)-2030393', #9/14/85#, #5/18/06#)";
try{
stmt = con.createStatement();//Creates a Statement object for sending SQL statements to the database
//statements are allowed to be made once a connection is set up
stmt.executeUpdate(addMember1);
stmt.executeUpdate(addMember2);
stmt.executeUpdate(addMember3);
stmt.executeUpdate(addMember4);
stmt.executeUpdate(addMember5);
stmt.executeUpdate(addMember6);
stmt.executeUpdate(addMember7);
stmt.executeUpdate(addMember8);
stmt.executeUpdate(addMember9);
stmt.executeUpdate(addMember10);
stmt.close();//closes the Statement object
con.close();//terminates the connection with the database
}//end try
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());//returns an SQL error message
}//end catch
}//end maintainMemberDetails
public static void maintainRentalDetails(){
Connection con = getConnection();//creates a connection with the database
String addRental1, addRental2, addRental3, addRental4, addRental5, addRental6, addRental7, addRental8, addRental9, addRental10;//string variables that represent information about the loan data that will be stored in the database
addRental1 = "insert into Rental values (110001, 'The Killers - Sams Town', 1234, 'Ann', 'Smyth', #9/01/06#, #9/10/06#, 'Yes', 2.00)";
addRental2 = "insert into Rental values (120001, 'Mission Impossible 3', 2345, 'John', 'Murphy', #9/02/06#, #9/09/06#, 'No', 0.00)";
addRental3 = "insert into Rental values (130001, 'Need for Special Carbon', 1324, 'James', 'McFadden', #9/03/06#, #9/12/06#, 'Yes', 2.00)";
addRental4 = "insert into Rental values (110002, 'Robbie Williams - Rudebox', 1235, 'Frankie', 'Ferry', #9/04/06#, #9/11/06#, 'No', 0.00)";
addRental5 = "insert into Rental values (120015, 'Prime', 1236, 'Daniel', 'McKimm', #9/05/06#, #9/14/06#, 'Yes', 2.00)";
addRental6 = "insert into Rental values (130015, 'FIFA 07', 2346, 'Stephen', 'Doohan', #9/06/06#, #9/13/06#, 'No', 0.00)";
addRental7 = "insert into Rental values (110009, 'Roxette - Roxette hits', 2347, 'James', 'Ferry', #9/07/06#, #9/16/06#, 'Yes', 2.00)";
addRental8 = "insert into Rental values (120003, 'The Break Up', 2348, 'Liam', 'Cannon', #9/08/06#, #9/15/06#, 'No', 0.00)";
addRental9 = "insert into Rental values (130027, 'Gears of War', 2401, 'Ciaran', 'Ferry', #9/09/06#, #9/18/06#, 'Yes', 2.00)";
addRental10 = "insert into Rental values (110021, 'Scooter - Mind the Gap', 2402, 'Ciaran', 'McGee', #9/10/06#, #9/17/06#, 'No', 0.00)";
try{
stmt = con.createStatement();//Creates a Statement object for sending SQL statements to the database
//statements are allowed to be made once a connection is set up
stmt.executeUpdate(addRental1);
stmt.executeUpdate(addRental2);
stmt.executeUpdate(addRental3);
stmt.executeUpdate(addRental4);
stmt.executeUpdate(addRental5);
stmt.executeUpdate(addRental6);
stmt.executeUpdate(addRental7);
stmt.executeUpdate(addRental8);
stmt.executeUpdate(addRental9);
stmt.executeUpdate(addRental10);
stmt.close();//closes the Statement object
con.close();//terminates the connection with the database
}//end try
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());//returns an SQL error message
}//end catch
}//end maintainRentalDetails
public Demo(){//a constructor
super("Demo Test Frame");//overrides the constructor
setSize(350, 200);//Resizes this component so that it has width of 350 and height of 200
comboBox = new JComboBox();//invokes the class JComboBox
comboBox.addItem("jdbc:odbc:VideoLibrary");//adds the specified item to the end of the scrolling list
qtm = new QueryTableModel();//invokes the class QueryTableModel
JTable table = new JTable(qtm);//a class that shows and changes regular two-dimensional tables of cells
JScrollPane scrollpane = new JScrollPane(table);//a class that provides a scrollable view of a lightweight component
JPanel p1 = new JPanel();//a class that puts the combo box and query field in a panel
p1.setLayout(new GridLayout(3, 2));//Sets the layout manager for this container
p1.add(comboBox);//Appends the specified component to the end of this container
p1.add(new JLabel("Enter your query: "));//Appends the specified component to the end of this container
p1.add(queryField = new JTextField());//Appends the specified component to the end of this container
p1.add(new JLabel("Click here to send: "));//Appends the specified component to the end of this container
JButton jb = new JButton("Search");//a class that is an implementation of a "push" button
jb.addActionListener(new ActionListener(){//Adds an ActionListener to the button
public void actionPerformed(ActionEvent e){
qtm.setHostURL();//invokes the method setHostURL
qtm.setQuery(queryField.getText().trim());//invokes the method setQuery; and returns the text that is presented by this text component and returns a copy of the string, with leading and trailing whitespaces omitted
} );//end addActionListener
p1.add(jb);//Appends the specified component to the end of this container
getContentPane().add(p1, BorderLayout.NORTH);//Returns the content pane
getContentPane().add(scrollpane, BorderLayout.CENTER);//Returns the content pane
}//end Demo
}//end class Demo
import java.sql.*;//Provides the API for accessing and processing data stored in a data source using the Java programming language
import java.io.*;//Provides for system input and output through data streams, serialization and the file system
import java.util.Vector;//provides a class that implements a growable array of objects
import javax.swing.*;//Provides a set of lightweight components that, to the maximum degree possible, work the same on all platforms
import javax.swing.table.*;//Provides classes and interfaces for dealing with javax.swing.JTable
public class QueryTableModel extends AbstractTableModel{
Vector cache;//a class that constructs an empty vector so that its internal data array has size 10 and its standard capacity increment is zero
int colCount;//a variable that counts the number of columns in the three tables
String[] headers;//a class that represents character strings and all string literals in this program are implemented as instances of the String class
Connection db;//an interface that allows a connection to be made to a database
Statement statement;//an interface that allows executes the given SQL statement, which returns a single ResultSet object
String currentURL;//a variable that allows the URL to be displayed in a combo box
public QueryTableModel(){//a constructor
cache=new Vector();//constructs an empty vector so that its internal data array has size 10 and its standard capacity increment is zero
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//used by opening a JDBC connection using an URL
}//end try
catch(Exception e){
System.out.println("problem loading the driver ");//an error message
}//end catch
}//end QueryTableModel
public String getColumnName(int i){//Returns the designated column's name
return headers;//returns the name of each column in the three table
}//end getColumnName
public int getColumnCount(){//Returns the number of columns in the column model
return colCount;//returns the number of columns in the three tables
}//end getColumnCount
public int getRowCount(){//Returns the number of rows in this table's model
return cache.size();//returns the number of components in the vector
}//end getRowCount
public Object getValueAt(int row, int col){//Returns the cell value at row and column
return ((String[])cache.elementAt(row))[col];//Returns the component at the specified index
}//end getValueAt
public void setHostURL(){//sets the URL for the database
String url = "jdbc:odbc:VideoLibrary";//a variable that allows a connection to be made to a database called VideoLibrary
closeDB();//invokes the method closeDB()
try{
db=DriverManager.getConnection(url,"","");//tries to create a connection with the database using the DriverManager class
statement=db.createStatement();//Creates a Statement object for sending SQL statements to the database
}//end try
catch(Exception e){
System.out.println("Could not initialize the database.");//an error message
e.printStackTrace();//a Throwable method that prints this throwable and it's backtrace to the standard error stream
}//end catch
}//end setHostURL
public void setQuery(String q){//sets the kind of query that is to be sent to the database
cache=new Vector();//constructs an empty vector so that its internal data array has size 10 and its standard capacity increment is zero
String s="select * from Product";//a variable that causes all the data that is in the product table to be displayed in a JTable, which also means that all the data that is in both the member and rental tables can also be displayed in a JTable
try{
ResultSet rs=statement.executeQuery(q);//an interface that is used to generate a database result set by executing a statement that queries the database
ResultSetMetaData meta=rs.getMetaData();//an interface that is used to get information about the types and properties of the columns in a ResultSet object
colCount=meta.getColumnCount();//Returns the number of columns in this ResultSet object
headers=new String[colCount];//gets the name of each column in the three tables
for(int h=1;h<=colCount;h++){
headers[h-1]=meta.getColumnName(h);//Get the designated column's name
}//end for
while(rs.next()){
String[] record=new String[colCount];//stores the name of each column in the three tables in memory
for(int i=0;i<colCount;i++){
record[i]=rs.getString(i+1);//Retrieves the value of the designated column in the current row of this ResultSet object as a String
}//end for
cache.addElement(record);//Adds the specified component to the end of this vector, increasing its size by one
}//end while
fireTableChanged(null);//Forwards the given notification event to all TableModelListeners that registered themselves as listeners for this table model
}//end try
catch(Exception e){
cache=new Vector();//constructs an empty vector so that its internal data array has size 10 and its standard capacity increment is zero
e.printStackTrace();//a Throwable method that prints this throwable and it's backtrace to the standard error stream
}//end catch
}//end setQuery
public void initDB(String url){
try{
db=DriverManager.getConnection(url);//tries to create a connection with the database using the DriverManager class
statement=db.createStatement();//Creates a Statement object for sending SQL statements to the database
}//end try
catch(Exception e){
System.out.println("Could not initialize the database.");//an error message
e.printStackTrace();//a Throwable method that prints this throwable and it's backtrace to the standard error stream
}//end catch
}//end initDB
public void closeDB(){
try{
if(statement!=null){
statement.close();//Releases this Statement object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed
}//end if
if(db!=null){
db.close();//Releases this Connection object's database and JDBC resources immediately instead of waiting for them to be automatically released
}//end if
}//end try
catch(Exception e){
System.out.println("Could not close the current connection.");//an error message
e.printStackTrace();//a Throwable method that prints this throwable and it's backtrace to the standard error stream
}//end catch
}//end closeDB
}//end class QueryTableModelhere's an uncommented version of the code.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.JOptionPane;
import java.sql.*;
public class Demo extends JFrame{
static String url = "jdbc:odbc:VideoLibrary";
static Statement stmt;
static Connection con;
JTextField hostField;
JTextField queryField;
QueryTableModel qtm;
JComboBox comboBox;
public static void main(String args[]){
int choice=-1;
do{
choice=getChoice();
if(choice!=0){
getSelected(choice);
}while(choice!=5);
System.exit(0);
public static int getChoice(){
String choice;
int ch;
choice = JOptionPane.showInputDialog(null,"1. Maintain product details\n"+"2. Maintain member details\n"+"3. Maintain rental details\n"+"4. View product, member and rental details\n"+"5. Log Off\n\n"+"Enter your choice");
ch = Integer.parseInt(choice);
return ch;
public static void getSelected(int choice){
if(choice==1){
maintainProductDetails();
if(choice==2){
maintainMemberDetails();
if(choice==3){
maintainRentalDetails();
if(choice==4){
Demo test = new Demo();
test.setVisible(true);
public static Connection getConnection(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
catch(java.lang.ClassNotFoundException e){
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
try {
con=DriverManager.getConnection(url,"","");
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
return con;
public static void maintainProductDetails(){
Connection con = getConnection();
String addProduct1, addProduct2, addProduct3, addProduct4, addProduct5, addProduct6, addProduct7, addProduct8, addProduct9, addProduct10;
addProduct1 = "insert into Product values (110001, 'The Killers - Sams Town', 5.00, 'G', 'CD', 2006)";
addProduct2 = "insert into Product values (110002, 'Robbie Williams - Rudebox', 5.00, 'G', 'CD', 2006)";
addProduct3 = "insert into Product values (110003, 'Razorlight - Razorlight', 5.00, 'G', 'CD', 2006)";
addProduct4 = "insert into Product values (110004, 'My Chemical Romance - The Black Parade', 5.00, 'G', 'CD', 2006)";
addProduct5 = "insert into Product values (110005, 'Snow Patrol - Eyes Open', 5.00, 'G', 'CD', 2006)";
addProduct6 = "insert into Product values (110006, 'Scissor Sisters - Ta-Dah!', 5.00, 'G', 'CD', 2006)";
addProduct7 = "insert into Product values (110007, 'Lovesounds - Justin Timberlake', 5.00, 'G', 'CD', 2006)";
addProduct8 = "insert into Product values (110008, 'Director - We thrive on big cities', 5.00, 'G', 'CD', 2006)";
addProduct9 = "insert into Product values (110009, 'Roxette - Roxette hits', 5.00, 'G', 'CD', 2006)";
addProduct10 = "insert into Product values (110010, '***** Cat Dolls - PCD', 5.00, 'G', 'CD', 2006)";
try {
stmt = con.createStatement();
stmt.executeUpdate(addProduct1);
stmt.executeUpdate(addProduct2);
stmt.executeUpdate(addProduct3);
stmt.executeUpdate(addProduct4);
stmt.executeUpdate(addProduct5);
stmt.executeUpdate(addProduct6);
stmt.executeUpdate(addProduct7);
stmt.executeUpdate(addProduct8);
stmt.executeUpdate(addProduct9);
stmt.executeUpdate(addProduct10);
stmt.close();
con.close();
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
public static void maintainMemberDetails(){
Connection con = getConnection();
String addMember1, addMember2, addMember3, addMember4, addMember5, addMember6, addMember7, addMember8, addMember9, addMember10;
addMember1 = "insert into Member values (1234, 'Ann', 'Smyth', 'Upper Killult, Falcarragh, Co. Donegal', '(074)-9135210', '(087)-2030172', #5/11/85#, #5/12/06#)";
addMember2 = "insert into Member values (2345, 'John', 'Murphy', 'Lower Killult, Falcarragh, Co. Donegal', '(074)-9135211', '(087)-2030173', #4/12/85#, #6/13/06#)";
addMember3 = "insert into Member values (1324, 'James', 'McFadden', 'Lower Ardsbeg, Gortahork, Co. Donegal', '(074)-9165314', '(087)-2030171', #4/11/85#, #6/14/06#)";
addMember4 = "insert into Member values (1235, 'Frankie', 'Ferry', 'Ardsmore, Gortahork, Co. Donegal', '(074)-9165325', '(087)-2031234', #6/13/60#, #6/15/06#)";
addMember5 = "insert into Member values (1236, 'Daniel', 'McKimm', 'Ballyness, Falcarragh, Co. Donegal', '(074)-9135212', '(087)-2030184', #5/14/73#, #6/16/06#)";
addMember6 = "insert into Member values (2346, 'Stephen', 'Doohan', 'Ballyness, Falcarragh, Co. Donegal', '(074)-9135213', '(087)-2030185', #6/13/85#, #5/13/06#)";
addMember7 = "insert into Member values (2347, 'James', 'Ferry', 'Meenlaragh, Gortahork, Co.Donegal', '(074)-9165360', '(087)-2031345', #9/12/85#, #5/14/06#)";
addMember8 = "insert into Member values (2348, 'Liam', 'Cannon', 'Derryconner, Gortahork, Co.Donegal', '(074)-9165324', '(087)-2031456', #4/11/86#, #5/15/06#)";
addMember9 = "insert into Member values (2401, 'Ciaran', 'Ferry', 'Brinalack, Gweedore, Co.Donegal', '(074)-9176425', '(087)-2030282', #9/12/85#, #5/16/06#)";
addMember10 = "insert into Member values (2402, 'Ciaran', 'McGee', 'Derrybeg, Gweedore, Co.Donegal', '(074)-9176536', '(087)-2030393', #9/14/85#, #5/18/06#)";
try{
stmt = con.createStatement();
stmt.executeUpdate(addMember1);
stmt.executeUpdate(addMember2);
stmt.executeUpdate(addMember3);
stmt.executeUpdate(addMember4);
stmt.executeUpdate(addMember5);
stmt.executeUpdate(addMember6);
stmt.executeUpdate(addMember7);
stmt.executeUpdate(addMember8);
stmt.executeUpdate(addMember9);
stmt.executeUpdate(addMember10);
stmt.close();
con.close();
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
public static void maintainRentalDetails(){
Connection con = getConnection();
String addRental1, addRental2, addRental3, addRental4, addRental5, addRental6, addRental7, addRental8, addRental9, addRental10;
addRental1 = "insert into Rental values (110001, 'The Killers - Sams Town', 1234, 'Ann', 'Smyth', #9/01/06#, #9/10/06#, 'Yes', 2.00)";
addRental2 = "insert into Rental values (120001, 'Mission Impossible 3', 2345, 'John', 'Murphy', #9/02/06#, #9/09/06#, 'No', 0.00)";
addRental3 = "insert into Rental values (130001, 'Need for Special Carbon', 1324, 'James', 'McFadden', #9/03/06#, #9/12/06#, 'Yes', 2.00)";
addRental4 = "insert into Rental values (110002, 'Robbie Williams - Rudebox', 1235, 'Frankie', 'Ferry', #9/04/06#, #9/11/06#, 'No', 0.00)";
addRental5 = "insert into Rental values (120015, 'Prime', 1236, 'Daniel', 'McKimm', #9/05/06#, #9/14/06#, 'Yes', 2.00)";
addRental6 = "insert into Rental values (130015, 'FIFA 07', 2346, 'Stephen', 'Doohan', #9/06/06#, #9/13/06#, 'No', 0.00)";
addRental7 = "insert into Rental values (110009, 'Roxette - Roxette hits', 2347, 'James', 'Ferry', #9/07/06#, #9/16/06#, 'Yes', 2.00)";
addRental8 = "insert into Rental values (120003, 'The Break Up', 2348, 'Liam', 'Cannon', #9/08/06#, #9/15/06#, 'No', 0.00)";
addRental9 = "insert into Rental values (130027, 'Gears of War', 2401, 'Ciaran', 'Ferry', #9/09/06#, #9/18/06#, 'Yes', 2.00)";
addRental10 = "insert into Rental values (110021, 'Scooter - Mind the Gap', 2402, 'Ciaran', 'McGee', #9/10/06#, #9/17/06#, 'No', 0.00)";
try{
stmt = con.createStatement();
stmt.executeUpdate(addRental1);
stmt.executeUpdate(addRental2);
stmt.executeUpdate(addRental3);
stmt.executeUpdate(addRental4);
stmt.executeUpdate(addRental5);
stmt.executeUpdate(addRental6);
stmt.executeUpdate(addRental7);
stmt.executeUpdate(addRental8);
stmt.executeUpdate(addRental9);
stmt.executeUpdate(addRental10);
stmt.close();
con.close();
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
public Demo(){
super("Demo Test Frame");
setSize(350, 200);
comboBox = new JComboBox();
comboBox.addItem("jdbc:odbc:VideoLibrary");
qtm = new QueryTableModel();
JTable table = new JTable(qtm);
JScrollPane scrollpane = new JScrollPane(table);
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(3, 2));
p1.add(comboBox);
p1.add(new JLabel("Enter your query: "));
p1.add(queryField = new JTextField());
p1.add(new JLabel("Click here to send: "));
JButton jb = new JButton("Search");
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
qtm.setHostURL();
qtm.setQuery(queryField.getText().trim());
p1.add(jb);
getContentPane().add(p1, BorderLayout.NORTH);
getContentPane().add(scrollpane, BorderLayout.CENTER);
import java.sql.*;
import java.io.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.*;
public class QueryTableModel extends AbstractTableModel{
Vector cache;
int colCount;
String[] headers;
Connection db;
Statement statement;
String currentURL;
public QueryTableModel(){
cache=new Vector();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
catch(Exception e){
System.out.println("problem loading the driver ");
public String getColumnName(int i){
return headers;
public int getColumnCount(){
return colCount;
public int getRowCount(){
return cache.size();
public Object getValueAt(int row, int col){
return ((String[])cache.elementAt(row))[col];
public void setHostURL(){
String url = "jdbc:odbc:VideoLibrary";
closeDB();
try{
db=DriverManager.getConnection(url,"","");
statement=db.createStatement();
catch(Exception e){
System.out.println("Could not initialize the database.");
e.printStackTrace();
public void setQuery(String q){
cache=new Vector();
String s="select * from Product";
try{
ResultSet rs=statement.executeQuery(q);
ResultSetMetaData meta=rs.getMetaData();
colCount=meta.getColumnCount();
headers=new String[colCount];
for(int h=1;h<=colCount;h++){
headers[h-1]=meta.getColumnName(h);
while(rs.next()){
String[] record=new String[colCount];
for(int i=0;i<colCount;i++){
record[i]=rs.getString(i+1);
cache.addElement(record);
fireTableChanged(null);
catch(Exception e){
cache=new Vector();
e.printStackTrace();
public void initDB(String url){
try{
db=DriverManager.getConnection(url);
statement=db.createStatement();
catch(Exception e){
System.out.println("Could not initialize the database.");
e.printStackTrace();
public void closeDB(){
try{
if(statement!=null){
statement.close();
if(db!=null){
db.close();
catch(Exception e){
System.out.println("Could not close the current connection.");
e.printStackTrace(); -
How to tune the Insert statement?
Hi ,
I am using 10.2.0.4.0 version of oracle.
i am having one insert statement , which comes almost all the time in the TOP of my AWR elapsed time section.
And its somewhat similar to as below.
Query:
INSERT INTO a (InvoicePK, CheckPK)
SELECT DISTINCT ih.InvoicePK, cd.CheckPK
FROM at,
cd,
ih,
rd
WHERE at.AttachmentPK = :1
AND cd.CheckPK = at.CheckPK
AND at.AttachmentPK = rd.AttachPK
AND ih.PAYPK = cd.PAYEEPAYPK
AND ih.PayerNS = cd.PayerNS
AND ih.PayerPayId = cd.PayerPayId
AND ih.UpperInvoiceNum = rd.UPPERINVNUM
AND ih.InvoiceStatusCD NOT IN ('REJ', 'DNY');
Below is the plan for the 'Select ' statement i.e. used in the insert statement.
Execution Plan:
Plan hash value: 2232002808
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
| 0 | SELECT STATEMENT | | 1 | 193 | 9 (23)| 00:00:01 | | |
| 1 | HASH UNIQUE | | 1 | 193 | 9 (23)| 00:00:01 | | |
|* 2 | HASH JOIN | | 1 | 193 | 8 (13)| 00:00:01 | | |
| 3 | NESTED LOOPS | | 10 | 1740 | 4 (0)| 00:00:01 | | |
| 4 | NESTED LOOPS | | 1 | 85 | 3 (0)| 00:00:01 | | |
| 5 | TABLE ACCESS BY INDEX ROWID | at | 1 | 16 | 2 (0)| 00:00:01 | | |
|* 6 | INDEX UNIQUE SCAN | atpk1 | 1 | | 1 (0)| 00:00:01 | | |
| 7 | TABLE ACCESS BY INDEX ROWID | cd | 7359K| 484M| 1 (0)| 00:00:01 | | |
|* 8 | INDEX UNIQUE SCAN | cdpk1 | 1 | | 1 (0)| 00:00:01 | | |
|* 9 | TABLE ACCESS BY GLOBAL INDEX ROWID| ih | 10 | 890 | 2 (0)| 00:00:01 | ROWID | ROWID |
|* 10 | INDEX RANGE SCAN | IH_PAYPK_PAYERNS_PAYID | 5 | | 1 (0)| 00:00:01 | | |
| 11 | TABLE ACCESS BY INDEX ROWID | rd | 9 | 171 | 3 (0)| 00:00:01 | | |
|* 12 | INDEX RANGE SCAN | IDX_rd | 9 | | 2 (0)| 00:00:01 | | |
Predicate Information (identified by operation id):
2 - access("IH"."UPPERINVOICENUM"="RD"."UPPERINVNUM")
6 - access("AT"."ATTACHMENTPK"=7794833983)
8 - access("CD"."CHECKPK"="AT"."CHECKPK")
9 - filter("IH"."INVOICESTATUSCD"<>'REJ' AND "IH"."INVOICESTATUSCD"<>'DNY')
10 - access("IH"."PAYPK"="CD"."PAYEEPAYPK" AND "IH"."PAYERNS"="CD"."PAYERNS" AND "IH"."PAYERPAYID"="CD"."PAYERPAYID")
12 - access("RD"."ATTACHPK"=7794833983)
Statistics
1 recursive calls
0 db block gets
71 consistent gets
0 physical reads
0 redo size
316 bytes sent via SQL*Net to client
240 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
3 rows processed
The 'select' Statement executes with in seconds resulting 3 distinct records, but the insert statement takes ~20sec(Elaps time per execution
as shown in AWR report) for one time execution, so what must be the reason , and how should i proceed to resolve this performance issue?You can do as follows:
- Enable trace
- execute the insert statement
- use tkprof (and put the results here) to see where's its taking long
Also, while insert is being executed, what are the wait events you see ?
I dont think there is problem with plan. -
Convert the insert statement of an MS SQL server into an oracle statement
Hi ,
The insert statement in the ms sql server is
INSERT INTO #temp EXEC Procedurename @Id OUTPUT
where table temp
CREATE TABLE #temp(
Id varchar(10),
FNa varchar(40),
LNa varchar(40),
SId varchar(20),
Aid varchar(20),
Did varchar(20),
CCNa varchar(255),
CCId int,
ISu char(1),
IA char(1),
Dir char(1),
Ema varchar(60),
St char(2),
DId char(3)
I converted the insert statement like this
Procedurename(Id);
LOOP
FETCH cv_1 INTO v_temp;
EXIT WHEN cv_1%NOTFOUND;
INSERT INTO TEMP VALUES v_temp;
END LOOP;
CLOSE cv_1;
But i am receiving PL/SQL: ORA-00947: not enough values
Can anyone help on this?
Thanks1) Are you sure that you even need a temp table? Fetching all the rows from a cursor 1-by-1 and then inserting them into a temp table (I'm assuming the Oracle table TEMP is declared as a global temporary table) would seem rather unusual and most likely pointless. In Oracle, readers don't block writers, so there is generally no need to use temp tables to hold intermediate results.
2) If you do need to store a set of results into a table, it's going to be more efficient to do this in a single SQL statement rather than using a cursor. Something like
INSERT INTO my_table ( <<list of columns>> )
SELECT <<list of columns>>
FROM <<other tables>>
WHERE <<some conditions>>The SELECT part of the statement here is likely whatever SQL you use in declaring the cursor.
Justin -
How to combine both values and subquery in the insert statement
Hi everybody,
This is a case of inserting rows into a final results table from a temporary one. Actually, one of the fields is not always given in the temporary table. Thus, when inserting the rows into the final results table, an error message comes up to.
More clarification:
final results table(F_RESULT): field1, field2, field3 ( they are also primary keys with not null constraint)
temporary table(TEMP): field2, filed3
Is it possible to combine both values and subquery branchs of the insert statement:
Insert into F_RESULT (field2,field3) select field2,field3 from TEMP;
Insert into F_RESULT (field1) values (0);
into only one like this:
Insert into F_RESULT (field1,field2,field3) values (0, select field2 form Temp, select field3 from Temp);
Or there is another more effective solution. The main problem for me is the message that doesn't accept the null value. From the data integrity point of view, it is accepted to set field1 to zero.
Any hints?
Thanks for your reply.That's easy, you can select any value from a table:
Insert into F_RESULT (field1,field2,field3)
select 0, field2, field3 from Temp; -
Handle the Insert statement my self.
Hi
I am looking to handle the insert statement myself via a page process. The user is only required to populate 3 fields, and I want to insert the others with clock numbers and sysdate. In forms I would have block_name.field_name is there something similar in APEX.
Insert into institution
(ID ,
CLOCK_NO ,
INSTITUTION ,
MEMBERSHIP_NO ,
MENTOR,
USER_NAME ,
UPDATE_DATE )
values
(institution_seq.next_val,
:p_clock_no,
institution,
membership_no,
mentor,
:p_clock_no,
sysdate);
Thanks
FionaFiona,
Do you mean you want to pickup values from page items, which have been populated by the User? If so you reference the page items with :PX_PAGE_ITEM_NAME
Cheers,
Mike -
How would you change the state to the base state?
How would you change the state to the base state? Its not
letting me do something like:
currentState='<Base State>';Sorry about the vagueness of that last reply :)
What I have done now in my code is this:
viewstack1.addChildAt(loginCanvas,0);
toggle.selectedIndex = 0;
However nothing happens at this line of code:
toggle.selectedIndex = 0;
but this works:
toggle.selectedIndex = 1; or ...
toggle.selectedIndex = 2;
toggle.selectedIndex = 3;
toggle.selectedIndex = 4;
toggle.selectedIndex = 5;
toggle.selectedIndex = 6;
The strange thing is that if I have a button on the screen:
<mx:Button x="10" y="3" label="Button"
click="toggle.selectedIndex =0"/>
and the user clicks it the toggle.selectedIndex = 0; works.
I'm stumped, any ideas? -
Exception handling for all the insert statements in the proc
CREATE PROCEDURE TEST (
@IncrStartDate DATE
,@IncrEndDate DATE
,@SourceRowCount INT OUTPUT
,@TargetRowCount INT OUTPUT
,@ErrorNumber INT OUTPUT
,@ErrorMessage VARCHAR(4000) OUTPUT
,@InsertCase INT --INSERT CASE INPUT
WITH
EXEC AS CALLER AS
BEGIN --Main Begin
SET NOCOUNT ON
BEGIN TRY
DECLARE @SuccessNumber INT = 0
,@SuccessMessage VARCHAR(100) = 'SUCCESS'
,@BenchMarkLoadFlag CHAR(1)
,@BenchmarkFlow INT
,@MonthYearStart DATE
,@MonthYearEnd DATE
,@StartDate DATE
,@EndDate DATE
/* Setting the default values of output parameters to 0.*/
SET @SourceRowCount = 0
SET @TargetRowCount = 0
/*Setting the Start and end date for looping */
SET @MonthYearStart = @IncrStartDate;
SET @MonthYearEnd = @IncrEndDate;
/* Setting the @InsertCase will ensure case wise insertion as this sp will load data in different tables
@InsertCase =0 means data will be inserted in the target TAB1
@InsertCase =1 means data will be inserted in the target TAB2
@InsertCase =2 means data will be inserted in the target TAB3
@InsertCase =3 means data will be inserted in the target TAB4
@InsertCase =4 means data will be inserted in the target TAB5
@InsertCase =5 means data will be inserted in the target TAB6
if @InsertCase =0
WHILE (@MonthYearStart <= @MonthYearEnd)
BEGIN
SET @StartDate = @MonthYearStart;
SET @EndDate = @MonthYearEnd;
/* Delete from target where date range given from input parameter*/
DELETE FROM TAB1
WHERE [MONTH] BETWEEN MONTH(@StartDate) AND MONTH(@EndDate)
AND [YEAR] BETWEEN year(@StartDate) and year(@EndDate)
/*Insert data in target-TAB1 */
BEGIN TRANSACTION
INSERT INTO TAB1
A,B,C
SELECT
A,BC
FROM XYZ
COMMIT TRANSACTION
SET @MonthYearStart = DATEADD(MONTH, 1, @MonthYearStart)
SELECT @TargetRowCount = @TargetRowCount + @@ROWCOUNT;
END -- End of whileloop
END TRY
BEGIN CATCH
IF @@TRANCOUNT>0
ROLLBACK TRANSACTION
SELECT @ErrorNumber = ERROR_NUMBER() ,@ErrorMessage = ERROR_MESSAGE();
END CATCH
END--End of Main Begin
I have the above proc inserting data based on parameters where in @InsertCase is used for case wise execution.
I have written the whole proc with exception handling using try catch block.
I have just added one insert statement here for 1 case now I need to add further insert cases
INSERT INTO TAB4
A,B,C
SELECT
A,BC
FROM XYZ
INSERT INTO TAB3
A,B,C
SELECT
A,BC
FROM XYZ
INSERT INTO TAB2
A,B,C
SELECT
A,BC
FROM XYZ
I will be using following to insert further insert statements
if @InsertCase =1
I just needed to know where will be my next insert statement should be fitting int his code so that i cover exception handling for all the code
MudassarHi Erland & Mudassar, I have attempted to recreate Mudassar's original problem..here is my TABLE script;
USE [MSDNTSQL]
GO
/****** Object: Table [dbo].[TAB1] Script Date: 2/5/2014 7:47:48 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TAB1](
[COL1] [nvarchar](1) NULL,
[COL2] [nvarchar](1) NULL,
[COL3] [nvarchar](1) NULL,
[START_MONTH] [int] NULL,
[END_MONTH] [int] NULL,
[START_YEAR] [int] NULL,
[END_YEAR] [int] NULL
) ON [PRIMARY]
GO
Then here is a CREATE script for the SPROC..;
USE [MSDNTSQL]
GO
/****** Object: StoredProcedure [dbo].[TryCatchTransactions1] Script Date: 2/5/2014 7:51:33 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[TryCatchTransactions1] (
@IncrStartDate DATE
,@IncrEndDate DATE
,@SourceRowCount INT OUTPUT
,@TargetRowCount INT OUTPUT
,@ErrorNumber INT OUTPUT
,@ErrorMessage VARCHAR(4000) OUTPUT
,@InsertCase INT --INSERT CASE INPUT
WITH
EXEC AS CALLER AS
BEGIN --Main Begin
SET NOCOUNT ON
BEGIN TRY
DECLARE @SuccessNumber INT = 0
,@SuccessMessage VARCHAR(100) = 'SUCCESS'
,@BenchMarkLoadFlag CHAR(1)
,@BenchmarkFlow INT
,@MonthYearStart DATE
,@MonthYearEnd DATE
,@StartDate DATE
,@EndDate DATE
/* Setting the default values of output parameters to 0.*/
SET @SourceRowCount = 0
SET @TargetRowCount = 0
/*Setting the Start and end date for looping */
SET @MonthYearStart = @IncrStartDate;
SET @MonthYearEnd = @IncrEndDate;
/* Setting the @InsertCase will ensure case wise insertion as this sp will load data in different tables
@InsertCase =0 means data will be inserted in the target TAB1
@InsertCase =1 means data will be inserted in the target TAB2
@InsertCase =2 means data will be inserted in the target TAB3
@InsertCase =3 means data will be inserted in the target TAB4
@InsertCase =4 means data will be inserted in the target TAB5
@InsertCase =5 means data will be inserted in the target TAB6
IF @InsertCase =0
WHILE (@MonthYearStart <= @MonthYearEnd)
BEGIN
SET @StartDate = @MonthYearStart;
SET @EndDate = @MonthYearEnd;
/* Delete from target where date range given from input parameter*/
DELETE FROM TAB1
WHERE START_MONTH BETWEEN MONTH(@StartDate) AND MONTH(@EndDate)
AND START_YEAR BETWEEN year(@StartDate) and YEAR(@EndDate)
/*Insert data in target-TAB1 */
BEGIN TRANSACTION
INSERT INTO TAB1 (COL1,COL2,COL3)
VALUES ('Z','X','Y')
SELECT COL1, COL2, COL3
FROM TAB1
COMMIT TRANSACTION
SET @MonthYearStart = DATEADD(MONTH, 1, @MonthYearStart)
SELECT @TargetRowCount = @TargetRowCount + @@ROWCOUNT;
END -- End of whileloop
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
SELECT @ErrorNumber = ERROR_NUMBER() ,@ErrorMessage = ERROR_MESSAGE();
END CATCH
PRINT @SUCCESSMESSAGE
END--End of Main Begin
GO
I am just trying to help --danny rosales
UML, then code -
I have been looking at my code for hours now and cant figure out what is wrong. The error has kept popping up even when i thought i had fixed everything. maybe a second set of eyes could help me out here. If you could help me out it would be much appreciated.
USE [ConorsSetKits]
GO
CREATE TABLE Customers (
CustomerID Int NOT NULL IDENTITY(1000,1),
LastName NChar(30) NOT NULL,
FirstName NChar(30) NOT NULL,
Address NChar(50) NOT NULL,
City NChar(30) NOT NULL,
State NChar(2) NOT NULL,
Zip Numeric(5) NOT NULL,
Email NVarChar(50) NOT NULL,
DateOfBirth Numeric (4) NOT NULL,
CONSTRAINT CustomersPK PRIMARY KEY(CustomerID),
CONSTRAINT ValidZip
CHECK ( [Zip] LIKE '[0-9][0-9][0-9][0-9][0-9]' ),
CONSTRAINT ValidState
CHECK( LEN([State]) = 2),
CONSTRAINT DateOfBirth
CHECK ([DateOfBirth] BETWEEN '1920-01-01' AND getdate() - 5844));
CREATE TABLE Sets (
SetID Int NOT NULL IDENTITY(1000,1) Primary Key,
SetName NChar(20) NOT NULL,
SetType NChar (20) NOT NULL,
Price Numeric (20) NOT NULL,
Quantity Numeric (50) NOT NULL,
CONSTRAINT SetTypeCheck
CHECK (SetType IN ('Planes','Tanks','Robots','Cars','Helicopters','Boats','Trains','Motorcycles','Jets')),
CONSTRAINT ValidQuantity
CHECK (Quantity >= 0)
CREATE TABLE Orders (
OrderID Int NOT NULL IDENTITY(1000,1),
CustomerID Int NOT NULL,
OrderDate Date NOT NULL,
CONSTRAINT CAIntPK PRIMARY KEY(OrderID, CustomerID),
SET IDENTITY_INSERT dbo.CUSTOMER OFF
SET IDENTITY_INSERT dbo.Sets OFF
SET IDENTITY_INSERT dbo.Orders OFF
SET IDENTITY_INSERT dbo.CUSTOMER ON
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1000, 'Janes', 'Jeffrey', '123 W. Elm St', 'Renton', 'WA', '98055',
'[email protected]',1985);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1001, 'Smith', 'David', '813 Tumbleweed Lane', 'Loveland', 'CO', '81201',
'[email protected]',1992);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1015, 'Twilight', 'Tiffany', '88 1st Avenue', 'Langley', 'WA', '98260',
'[email protected]',1972);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1033, 'Smathers', 'Fred', '10899 88th Ave', 'Bainbridge Island', 'WA', '98110',
'[email protected]',1980);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1034, 'Frederickson', 'Mary Beth', '25 South Lafayette', 'Denver', 'CO', '80201',
'[email protected]',1970);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1036, 'Warning', 'Selma', '205 Burnaby', 'Vancouver', 'BC', '80201',
'[email protected]',1981);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1037, 'Wu', 'Susan', '105 Locust Ave', 'Atlanta', 'GA', '30322',
'404', '653-3465', '[email protected]',1971);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1040, 'Gray', 'Donald','55 Bodega Ave', 'Bodega Bay', 'CA', '94923',
'[email protected]',1985);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1041, 'Johnson', 'Lynda', '117 C Street', 'Washington', 'DC', '20003',
'[email protected]',1969);
INSERT INTO Customers
(CustomerID, LastName, FirstName, Address, City, State, Zip,
Email, DateOfBirth)
VALUES (
1051, 'Wilkens', 'Chris', '87 Highland Drive', 'Olympia', 'WA', '98508',
'[email protected]',1994);
SET IDENTITY_INSERT dbo.CUSTOMER OFF
SET IDENTITY_INSERT dbo.Sets ON
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1000, 'MysterySet1','Planes',$29.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1001, 'MysterySet2','Planes',$19.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1002, 'MysterySet4','Tanks',$39.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1003, 'MysterySet3','Robots',$19.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1004, 'MysterySet5','Cars',$29.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1005, 'MysterySet6','Boats',$29.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1006, 'MysterySet7','Trains',$39.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1007, 'MysterySet8','Motorcycles',$9.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1008, 'MysterySet9','Helicopters',$29.99,10);
INSERT INTO Sets
(SetID, SetName, SetType, Price, Quanity)
VALUES (
1009, 'MysterySet10','Jets',$29.99,10);
SET IDENTITY_INSERT dbo.Sets OFF
SET IDENTITY_INSERT dbo.Orders ON
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1000, '2012-12-12');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1000, '2013-12-30');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1005, '2013-08-30');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1004, '2013-12-30');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1004, '2013-08-31');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1004, '2014-03-25');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1002, '2012-11-14');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1001, '2012-11-14');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1001, '2013-01-05');
INSERT INTO Orders
(OrderID, OrderDate)
VALUES
(1006, '2012-06-22');
SET IDENTITY_INSERT dbo.Orders OFFPrice Numeric (20) NOT NULL,
I do not think you understand this datatype? Go look at the values you are attempting to insert into this column. For example, "$29.99". After the insert, what value is actually stored in that column?
DateOfBirth Numeric (4) NOT NULL,
No. Just No. Either change the column name to faithfully represent what values you intend to store (and apply the appropriate constraints) or change the datatype and the values that you intend to store to match the column name. And the constraint
that you do have:
CONSTRAINT DateOfBirth
CHECK ([DateOfBirth] BETWEEN '1920-01-01' AND getdate() - 5844));
is both logically suspect and syntactically wrong. First, the upper boundary will be computed as 1999-04-29 15:50:21.670. But, of course, your column is a whole number of no more than 4 digits. The same issue applies to your lower boundary.
A simple select statement will show you those errors
select cast('1920-01-01' as numeric(4)), getdate() - 5844, cast(getdate() - 5844 as numeric(4));
An insert statement fails with the same error. Because, of course, your boundary values must actually be converted to numeric(4) in order to compare them against the value contained in the column. Generally, you can convert from
string to numeric - IF the content of the string actually contains a value that is numeric and can be converted into the specific type needed. Not so in this case. Is this 16 year period (5844 days) significant for some reason? You should
document it here in your DDL with a comment, because it is unlikely to be documented (and kept current) anywhere else.
And lastly, your script has:
SET IDENTITY_INSERT dbo.CUSTOMER OFF
That is not the name of your table, and therefore that statement also fails. The table name you used is plural. -
Cross-reference does not work inside the object states
Hi All,
I use InDesign CS5.5. I have four pages document. first three page has full for text and the fourth page has multi-state object. I am trying to insert the cross reference from the third page to the multi-state object (fourth multi-state object). when I export to SWF and click the cross-reference it does not got to the fourth state, but it goes to only on the first state. can any one help me how to add the cross-reference?
I have tried on the other way. i have inserted the text anchor on the fourth multi-state object and tried to add cross-reference, still it does not work.
am i doing something wrong or InDesign does not have this feature.
please help.
thanks.
Regards
Ramji V K@Ramji V K – Do we have a "terminology problem" here?
Do you really mean a "Cross-Reference" or do you try to control the MultiStateObject (MSO) by a "Button" that does not work propperly?
I did not do anything with the "Cross-Reference" feature yet, so I might be on the wrong trail…
Uwe -
Creating delete statements out of insert statements
Hi, I'm running an insert script with lots of columns. Before that script is run I want to run a delete script for those records that match the ones in the insert.
The things is that I have generated all these insert scripts and I do not want to manually create delete statments for all these records (there are many...)
So for an insert into like this:
Insert into ANSWERS(A,B,C,X,Y,Z) values ('Yes',No','No','No',null,'Yes')
I want to create a delete somewhat like this:
Delete from ANSWERS where (A,B,C,X,Y,Z) = ('Yes',No','No','No',null,'Yes')
This way I can simple use a find and replace to do this task. Is there anyway to write a delete statement somewhat like this?
Thanks!A very unusual request.
the things is that I have generated all these insert scriptsWhy can't you generate a script to delete in a similar manner.
Is there anyway to write a delete statement somewhat like this?something like this may help you but remember that this script will fail when you have columns values as "NULL"
SQL> create table answers(a varchar2(3), b varchar2(3), c varchar2(3), x varchar2(3) , y varchar2(3),
2 z varchar2(3));
Table created.
SQL> Insert into ANSWERS(A,B,C,X,Y,Z) values ('Yes','No','No','No','Yes','Yes');
1 row created.
SQL> select substr(txt, 1, length(txt)-1) || ' from dual)' from (
2 select
3 replace(replace(replace(
4 trim('Insert into ANSWERS(A,B,C,X,Y,Z) values (''Yes'',''No'',''No'',''No'',''Yes'',''Yes'')'),
5 'Insert into', 'Delete From'), '(A', ' where (A'), 'values (', ' in (select ') txt
6 from dual);
SUBSTR(TXT,1,LENGTH(TXT)-1)||'FROMDUAL)'
Delete From ANSWERS where (A,B,C,X,Y,Z) in (select 'Yes','No','No','No','Yes','Yes' from dual)
SQL> Delete From ANSWERS where (A,B,C,X,Y,Z) in (select 'Yes','No','No','No','Yes','Yes' from dual);
1 row deleted.
SQL> -
I just tried to install the iTunes update 11.4.1 and keep getting error messages. I have never had this issue before over many years of using iTunes and getting updates to the software. I have removed the iTunes from my computer and reinstalled it but keep getting the errors. Here are the error statements: "Runtime error: Program: C:\Program Files(x86)\iTunes\iTunes.exe; R6034; An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team. iTunes was not installed correctly. Please reinstall iTunes. Error 7 (Windows error 1114)
Follow the instructions of tt2 in https://discussions.apple.com/thread/5822086 and note to run as admin
-
"Missing Return Statement" although the return statement IS there?
Hello :) I am currently studying computing science at staffordshire university, java is one of my modules (first year) and im about half way through (still at introduction stage though)... Within my code apparently I have not returned a statement... yet to my believe the return statement is there and in the correct space, i would appreciate it if you could have a look and tell me where I am going wrong please:
import java.util.*;
public class ReadWriteArrayApp3
+{+
+ public static void main(String [ ] args)+
+ {+
+ int[] nums = int double[6];+
+ double result;+
+ readArray(nums);+
+ printArray(nums);+
+ printReverse(nums);+
+ averageArray(nums);+
result = averageArray(nums);
+ System.out.println("The average of your numbers is " + result);+
+ } // end main+
public static void readArray(int [] a)
+ {+
+ Scanner kybd = new Scanner(System.in);+
+ System.out.println("Please enter 6 Integers");+
+ for(int i=0; i < a.length; i++)+
+ {+
+ a[i] = kybd.nextInt();+
+ }+
+ }+
+public static void printArray(int [ ] b)+
+ {+
+ for (int i = 0; i < b.length; i++)+
+ {+
+ System.out.println(b);+
+ }+
+ }+
+ public static void printReverse(int [ ] c)+
+ {+
+ for (int i = c.length-1; i >= 0; i--)+
+ {+
+ System.out.println(c[i]);+
+ }+
+ }+
+ public static double averageArray(int [ ] d)+
+ {+
+ double sum, tot, average;+
+ for (int i = 0; i < d.length; i++)+
+ {+
+ tot = tot + d[i];+
+ average = (tot)/d.length;+
+ if ((average)=(tot/d.length))+
+ {+
+ sum = average;+
+* }
+ return sum;+
+ }+
+} // end application class+
Console states:
javac ReadWriteArrayApp3.java
ReadWriteArrayApp3.java:49: missing return statement
* ^*
*1 error*
Above in the code I have shown I have made a part bold... this shows the area in which console has a problem with.
I would really appreciate any help in which I get
Thankyou
Victoria
Edited by: StaffsUniJavaGirl on Nov 12, 2009 9:48 AMimport java.util.*;
public class ReadWriteArrayApp3
public static void main(String [ ] args)
int[] nums = int double[6];
double result;
readArray(nums);
printArray(nums);
printReverse(nums);
averageArray(nums);
result = averageArray(nums);
System.out.println("The average of your numbers is " + result);
} // end main
public static void readArray(int [] a)
Scanner kybd = new Scanner(System.in);
System.out.println("Please enter 6 Integers");
for(int i=0; i < a.length; i++)
a[i] = kybd.nextInt();
public static void printArray(int [ ] b)
for (int i = 0; i < b.length; i++)
System.out.println(b);
public static void printReverse(int [ ] c)
for (int i = c.length-1; i >= 0; i--)
System.out.println(c[i]);
public static double averageArray(int [ ] d)
double sum, tot, average;
for (int i = 0; i < d.length; i++)
tot = tot + d[i];
average = (tot)/d.length;
if ((averagetot)=(tot/d.length))
sum = average;
return sum;
} // end application class*line 49 is bold* -
Disable random generation of .adf-ctrl-state and the view state
Hi,
I'm trying to test a few transaction on an ADF application that would need to be run using a simulator.
The problem is it is pretty hard to do this using a programmed simulator since everytime the adf-ctrl-state and the viewstate in the browser change, which requires capturing them. To complicate matters further there exists the PPR navigation (at least that's what I think it is) which present a unique _afrLoop id, that also seems to behave differently with different user-agents.
My question is, can I do anything with those fiedls that would allow me to have one id to run my transactions ? I understand that some of those ids, like the viewstate act like a session nonce....but are there do I have any options ?
Thanks,You will need to configure your test suite to capture and replay those values. There is also the javax.faces.ViewState variable.
Here are some good pointers on how to do this in JMeter
http://one-size-doesnt-fit-all.blogspot.com.au/2010/04/configuring-apache-jmeter-specifically.html
A more generalized article
http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adfloadstresstesting-354067.pdf
Maybe you are looking for
-
Help with exporting an excel spreadsheet to sharepoint
I've downloaded the 'Synchronising with sharepoint lists' add-in and have linked my spreadsheet to a sharepoint list, where any changes made to the spreadsheet then updates the sharepoint list. This spreadsheet is full of formulas but as soon as I cl
-
Safari issue: Multiple browser pages from the past are resident!
Having an issue with safari. When i open up the app, there are 7 previous pages that were accessed in the past that are open. I have tried to delete cookies, history, hard reset, etc. I can close out all of the previous open pages but the next time t
-
Skype Windows client hangs for the first call - co...
Hi, Skype on my Windows 8.1 (depending on its mood) hangs for the first call. It will keep ringing and ringing till it times out, during that time I am not able to hang up the call as well, the red hang up button doesnt work and we have to let the ca
-
Why can't I use download helper in FF v26?
using FF v25, download helper worked fine downloading videos from you-tube etc. After updating to v26, download helper no longer works at all. It still shows up on the add-on bar, but downloads empty files?
-
How to setup QoS for IP/Mac Address WRVS4400N
I need some help setting up QoS for two Cisco/Linksys devivces on my network. Network devices are Comcast SB6120 modem into WRVS4400n (v2.0.2.1 firmware) that divides into one 24 port gigabit Netgear unmanaged switch, 1 port into AT&T Cisco Microcel