Using select statement and char function to create insert statement : Select « Select Query « Oracle PL / SQL






Using select statement and char function to create insert statement

    
SQL> CREATE TABLE emp (
  2    emp_id               NUMBER,
  3    ename             VARCHAR2(40),
  4    hire_date        DATE DEFAULT sysdate,
  5    end_date DATE,
  6    rate     NUMBER(5,2),
  7    CONSTRAINT emp_pk    PRIMARY KEY (emp_id)
  8  );

Table created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (101, 'Mary', to_date('15-Nov-1961','dd-mon-yyyy'),null,169);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (102, 'Tom', to_date('16-Sep-1964','dd-mon-yyyy'),to_date('5-May-2004','dd-mon-yyyy'),135);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (104, 'Peter', to_date('29-Dec-1987','dd-mon-yyyy'),to_date('1-Apr-2004','dd-mon-yyyy'),99);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (105, 'Mike', to_date('15-Jun-2004','dd-mon-yyyy'),null,121);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (107, 'Less', to_date('2-Jan-2004','dd-mon-yyyy'),null,45);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (108, 'Park', to_date('1-Mar-1994','dd-mon-yyyy'),to_date('15-Nov-2004','dd-mon-yyyy'),220);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (110, 'Ink', to_date('4-Apr-2004','dd-mon-yyyy'),to_date('30-Sep-2004','dd-mon-yyyy'),84);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (111, 'Tike', to_date('23-Aug-1976','dd-mon-yyyy'),null,100);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (112, 'Inn', to_date('15-Nov-1961','dd-mon-yyyy'),to_date('4-Apr-2004','dd-mon-yyyy'),70);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (113, 'Kate', to_date('3-Mar-2004','dd-mon-yyyy'),to_date('31-Oct-2004','dd-mon-yyyy'),300);

1 row created.

SQL>
SQL>
SQL>
SQL> SELECT 'INSERT INTO emp' || chr(10)
  2      || '  (emp_id, rate,' || chr(10)
  3      || '   hire_date, ename)' || chr(10)
  4      || 'VALUES (' || TO_CHAR(emp_id) || ',' || chr(10)
  5      || '        ' || NVL(TO_CHAR(rate),'NULL')
  6                    || ',' || chr(10)
  7      || CASE WHEN hire_date IS NOT NULL then
  8            '        TO_DATE(''' || TO_CHAR(hire_date,'MM/DD/YYYY')
  9            || ', ''MM/DD/YYYY'')' || chr(10)
 10         ELSE
 11            '        NULL' || chr(10)
 12         END
 13      || '        ''' || ename || ''');'
 14  FROM emp
 15  WHERE end_date IS NULL;
INSERT INTO emp
  (emp_id, rate,
   hire_date, ename)
VALUES (101,
        169,
        TO_DATE('11/15/1961, 'MM/DD/YYY
Y')
        'Mary');

INSERT INTO emp
  (emp_id, rate,
   hire_date, ename)
VALUES (105,
        121,
        TO_DATE('06/15/2004, 'MM/DD/YYY
Y')
        'Mike');

INSERT INTO emp
  (emp_id, rate,
   hire_date, ename)
VALUES (107,
        45,
        TO_DATE('01/02/2004, 'MM/DD/YYY
Y')
        'Less');

INSERT INTO emp
  (emp_id, rate,
   hire_date, ename)
VALUES (111,
        100,
        TO_DATE('08/23/1976, 'MM/DD/YYY
Y')
        'Tike');


4 rows selected.

SQL>
SQL>
SQL>
SQL> drop table emp;

Table dropped.

   
    
    
    
  








Related examples in the same category

1.The following code provides a breakdown of the basic SELECT statement on the Oracle platform:
2.Use Arithmetic operators with literal values to derive values: add 5 to salary
3.SELECT statement uses the not equal (< >) operator in the WHERE clause
4.Using the > operator
5.UPPER(SUBSTR(first_name, 2, 8)): Combining Functions
6.Plus in select statement
7.Minus in select
8.Math calculation in select
9.CONCATENATING TEXT
10.Returning All Columns
11.Returning Multiple Columns
12.Returning Rows Call
13.Employees from new york who have gifts
14.Find all employees who are younger than employee whose id is 9999
15.Selecting Categories That Contain Product
16.Selecting Products That Belong to Category
17.Selecting Products That Belong to Department with Join