change the data type of a column

Since the previous post: how to change the data type of column number to varchar2 in oracle10g

Measures may be:
create table TestTable (ColA varchar2 (5));
Insert into TestTable values('12345');

ALTER table TestTable Add (ColATemp number (5));
setting a day of TestTable set ColATemp = ColA;

ALTER table TestTable remove column ColA;
change the column in table TestTable rename ColATemp CLC;

My question is:
If the table half million records

setting a day of TestTable set ColATemp = ColA;

will it be a good solution? Any performance issues? There is no index on this column.

Sort while you do DDL, you will not be able to do any operation on the table. You the best suites you. It's a time operation, you can change the table to change the data type, but it may not work if some of the data in the table confirms no new data type of column.

Concerning

Tags: Database

Similar Questions

  • How to change the data type of a column after the creation of the table

    It comes to my table desc

    SQL > desc job1

    Name                                      Null?    Type

    ----------------------------------------- -------- ----------------------------

    JOB_CODE NOT NULL VARCHAR2 (3)

    JOB_CLASS VARCHAR2 (30)

    CHG_HOUR NUMBER (5.2)

    OVERTIMECHARGE NOT NULL NUMBER

    I want to change column CHG_HOUR to store numbers up to 12 digits in length (including the decimal points).

    I tried the following and it did not help

    SQL > alter table job1 change column chg_hour number (6.6);

    ALTER table job1 change column chg_hour number (6.6)

    *

    ERROR on line 1:

    ORA-01735: invalid option of ALTER TABLE

    SQL > alter table job1 change chg_hour number (6.6);

    ALTER table job1 change chg_hour number (6.6)

    *

    ERROR on line 1:

    ORA-01438: value larger than the precision specified for the column

    where I'm going wrong?

    Hello

    I want to change the CHG_HOUR column to store numbers up to 12 digits in length (including the decimal points).

    I tried the following and it did not help

    ALTER table job1 change chg_hour number (12.6);

  • script to change the data type of column

    Hi gurus of the oracle.

    I have 190 tables in my database.

    I have the column type CHAR of all these tables data.

    I need to change the data type of CHAR in VARCHAR2 for all these tables...

    There the script to change the data type of all tables at once?

    Please help me in this regard.

    Thanks in advance

    Concerning

    REDA

    Hello

    There is nothing built-in to Oracle SQL to do.  Maybe your front-end has certain characteristics.

    You can write dynamic SQL statements to do.  In other words, you can write a query that the output is a SQL script like this:

    ALTER TABLE TABLE_A CHANGE (A_TXT1 VARCHAR2 (5))

    A_TXT2 VARCHAR2 (10));

    ALTER TABLE TABLE_B CHANGE (B_TXT1 VARCHAR2 (5));

    with one row for each column of type CHAR.  Notice how the first line of output for each table begins with ALTER TABLE... but the later lines at the same table.  Similarly, the last line of a table (which will be the same as the first row, if the table has only one column of type CHAR) to end with a semicolon, but other lines are not.

    Here's a way to generate and execute such a dynamic script in SQL * more:

    -Disable the features that make the output easy to read, but hinder the execution
    SET FEEDBACK OFF
    SET LINESIZE 500
    SET PAGESIZE 0

    -Create fix_char.sql
    COIL c:\some_pathename\fix_char.sql

    SELECT THE CHECK BOX
    WHEN ROW_NUMBER () OVER (PARTITION BY table_name
    ORDER BY column_name
    )  = 1
    THEN 'ALTER TABLE ' | table-name
    || "CHANGE (").
    ELSE «»
    END
    ||        column_name
    ||        "VARCHAR2 (').
    ||        DATA_LENGTH
    ||        ')'
    ||        CASE
    WHEN ROW_NUMBER () OVER (PARTITION BY table_name
    ORDER BY column_name DESC
    )  = 1
    THEN '); "
    Output END AS
    Of user_tab_columns
    WHERE data_type = "CHAR".
    ORDER BY table_name
    column_name
    ;

    SPOOL OFF

    -Turn on the features that make the output easy to read, but hinder the execution
    SET FEEDBACK ON
    SET LINESIZE 80
    SET PAGESIZE 50

    -Fix_char.sql performance
    @c:\some_pathname\fix_char

    It's good to change all the CHARIOT of VARCHAR2 columns.  The CHAR data type is nothing trouble.

  • change the data type of column in a view

    Hi gurus,

    Please suggest.


    I have been created as below in the region of production.

    CREATE OR REPLACE TYPE PROD. (OBJECT) ACE FEATURE_CUSTOM_LIST_OBJ
    TERMINAL_FEATURE_ID NUMBER (8).
    DATA_VALUE NUMBER (8)
    );
    /


    And the view is created below the base have the PROD. FEATURE_CUSTOM_LIST_OBJ

    CREATE OR REPLACE FORCE VIEW PROD. TERMINAL_FEATURE_TYPE
    (
    TERMINAL_FEATURE_ID,
    DATA_VALUE
    )
    AS
    SELECT
    TERMINAL_FEATURE_ID,
    DATA_VALUE
    TABLE)
    CAST)
    PROD. TERM_RELATED_REF_DATA. GET_TERMINAL_FEATURE_TYPE AS PROD. FEATURE_CUSTOM_LIST_TAB));

    Examples of data must be inserted into the display

    TERMINAL_FEATURE_IDDATA_VALUE
    120
    121
    123
    11THERE
    11N

    If iam thinking is possible that we can change the data type of number of varchar2 data type column in a view?

    Or should I follow create or replace type as whenevr the nonnumeric data tries to bring into view
    sound by giving the number plsql for digital character conversion error since it is a number of data type here.

    I have been created as below in the region of production.

    CREATE OR REPLACE TYPE PROD. (OBJECT) ACE FEATURE_CUSTOM_LIST_OBJ

    OK - but it is a SCALAR - not a collection object

    And the view is created below the base have the PROD. FEATURE_CUSTOM_LIST_OBJ

    CREATE OR REPLACE FORCE VIEW PROD. TERMINAL_FEATURE_TYPE

    No - it isn't. Your type of object is a SCALAR - not a collection. You need create a view on a table or a collection that is treated as a table.

    DDL perspective you posted doesn't even mention your FEATURE_CUSTOM_LIST_OBJ.

    If iam thinking is possible that we can change the data type of number of varchar2 data type column in a view?

    Have you tried using TO_CHAR to format the number as a string?

  • change the data type of the columns

    Oracle 10g version.
    I have a table with 150 columns.
    I would like to change the data type of the columns in my table to varchar.
    Do we have a query for this task?

    Thank you.

    Not knowing yet what you meet John:

    If your table is empty, you can use the datadictionary to generate a statement and run the query to a file that makes the DDL using dynamic SQL or spool and run that...

    Example:

    MHO%xe> create table bla (col1 number, col2 number);
    
    Tabel is aangemaakt.
    
    MHO%xe> select column_name, data_type from user_tab_columns where table_name = 'BLA';
    
    COLUMN_NAME                    DATA_TYPE
    ------------------------------ ---------------------------------------------------------------------
    COL1                           NUMBER
    COL2                           NUMBER
    
    MHO%xe> declare
      2    l_sql varchar2(4000);
      3    l_sep varchar2(1);
      4  begin
      5    l_sql := 'alter table BLA modify ('||chr(10);
      6    for rec in ( select column_name from user_tab_columns where table_name = 'BLA')
      7    loop
      8      l_sql := l_sql||l_sep||' '||rec.column_name||' varchar2(50)'||chr(10);
      9      l_sep := ',';
     10    end loop;
     11    --
     12    dbms_output.put_line(l_sql||' )');
     13    --
     14    execute immediate l_sql||' )';
     15    --
     16  end;
     17  /
    alter table BLA modify (
     COL1 varchar2(50)
    , COL2 varchar2(50)
     )
    
    PL/SQL-procedure is geslaagd.
    
    MHO%xe> select column_name, data_type from user_tab_columns where table_name = 'BLA';
    
    COLUMN_NAME                    DATA_TYPE
    ------------------------------ ---------------------------------------------------------------------
    COL1                           VARCHAR2
    COL2                           VARCHAR2
    
  • using case, but by changing the data type of diff

    Hi guys, I am creating a view and selecting in a column that has a value of-1, 0 or 1, it's very good and I was about to use a case statement to convert the - 1 to "n", but obviously I can't do what data types do not match, I can't change the data type of the original column until someone knows how I could achieve This or a similar output, for example, is there a way to add an extra column to the view and just copy the numbers to the horizontal except for when it is - 1, we will copy a "n" throughout. the new column might be char and we could convert the numbers to a char when their through copying. Is it possible to do and if so could someone explain or give me an example of how to do it.

    Thank you.

    An alternative to the above:

    case when col1 = -1 then 'N'
         else to_char(col1)
    end
    
  • Change the data type of number (1) to number (3)

    Y at - it a command to change the data type for an existing column? I just need to go long number 1 to 3... or I have to delete column and then use Edit to add the new field?

    Thank you
    Mark

    Hello

    alter table  modify  NUMBER(3);
    

    Kind regards

  • To change the data type of control/led

    Is it possible to change the underlying data type of the indicator or a control?  I a VI that I want to use that accepts any type of data (essentially data varriant) and display it accordingly.  I have different controls selected to display data of different types in the sense of data vs decimal boolean data vs integer, but certain types of data will be of type uint32 vs int16 vs uint64 etc..  Is it possible to programmatically change the data type, so I need to have all the combinations of indicators?

    The short answer is no. The long answer is that LabVIEW has not 'generic' controls that allow you to display any type of data (apart from the variant of course). There are several ways to address this problem, but all require you as the programmer to manage explicitly each type of data you could possibly meet. Here are some possibilities (in no particular order), please let me know if you would like to help a particular implementation of these.

    1. Force incoming data to variant, use the info option to determine the data type of the original data in a case structure (open G can do this VERY easy), have an indicator on the front panel for each type of data you want and hide those unused
    2. Use a sub-group of experts on the front panel and sub - vi call of to view specific types (that lends itself very well to encapsulate your data in a class and you leave OOP allows to expand into different types of data)
    3. Use a tab with the variant (similar to option 1) control put each kind of data in its own tab, enable only the current
    4. Do a Control-X to accept a Variant option 1 under the hood
    5. Just as a string of format and use a string indicator

    That's all I can think of right now, once again, let me know if you need more information/help on the options.

  • Change the Data Type to node e/s on PXI-7841R FPGA

    I would like to change the data type for the node FPGA of e/s on my card FPGA 7841R (simulation). So far, I have raw data (I16). I want to test something with the calibrated data (FXP).

    The cRIO, you usually go to the properties of module to change the calibration mode...

    I searched 7841R documentation and could not do any weather information this calibration mode was also available on this map.

    Any tips?

    Vincent

    The new maps in the series R offer node fixed point IO (for example, the SMU-7858R), but as mentioned all the old PXI based cards R-series offer only modes of measurement I16.

    Page 22 manual R series is about how to do this conversion: http://www.ni.com/pdf/manuals/370489g.pdf#page=22

    Specifically, it notes that you can calculate the voltage by (output Code I16) * 10.0V / (32 768).

    Even if this can use FPGA resources, it records the host do the same conversions. RT old target with slow processors doing the conversion of I16 or FXP to SGL on the FPGA has saved a lot of time CPU

  • How to declare the data type of a column in a select query?

    How can we give the data type of each column on the fly during the selection of rows in a query?

    the cast function converts one data type to another.

    The syntax of the cast function is:

    Cast ({expr |}) (subquery) | (MULTISET (subquery)} AS type_name)

    Select cast (22 August 2003 ' AS varchar2 (30))
    Double;

    Published by: b_ * August 12, 2011 10:08

  • Change the data type of a Coloumn

    Hi, I created the Employee table.
    Its data type is the following...

    Name Null? Type
    ----------------------------------------- -------- -------------------------

    EMP_ID NUMBER (5)
    EMP_NAME NOT NULL VARCHAR2 (10)
    EMP_SAL VARCHAR2 (8)
    DATE OF MEP_HIREDATE
    NUMBER OF COMM

    How to change the data type of number data type EMP_SAL...
    Thank you..
    SQL> CREATE TABLE EMP (
    EMP_ID NUMBER(5),
    EMP_NAME  VARCHAR2(10),
    EMP_SAL VARCHAR2(8),
    MEP_HIREDATE DATE,
    COMM NUMBER)
    /
    ALTER TABLE EMP MODIFY (EMP_SAL NUMBER);
      2    3    4    5    6    7
    Table created.
    
    SQL>
    Table altered.
    
  • How to recover the data type of a column in a table?

    Hello

    I want to retrieve the data type of a column in a table. At the moment I'm querying attribute 'OCI_ATTR_DATA_TYPE', but it is SQLT_CHR varchar2 and nvarchar2 data type columns. I need to make a distinction between these columns of two separate data types. Y at - it all API through which I could get the exact data type of a column, i.e. "nvarchar2?

    Thanks in advance.

    Hashim

    Hello

    It is not a very direct way to do it. What you can do is to call OCIDescribeAny on the table that you want to get information. You can then get the OCI_ATTR_CHARSET_FORM attribute for the column. If the value of the attribute that you get is SQLCS_IMPLICIT, that would mean its a varchar/char/varchar2 column regular. If you get SQLCS_NCHAR, this means that the column is NCHAR. You can get the example of it here:

    http://download.Oracle.com/docs/CD/B14117_01/AppDev.101/b10779/oci06des.htm#446491

    Just look for the section "Recovering for a Table column Datatypes".

    Thank you
    Sumit

  • Display the data type of a column in the status bar

    Hi all

    n pl/sql developer, when I select a column in a table.

    If I clicked with the mouse on the column in the query results box, it shows me the type of data and the size of the column in the status bar

    Developer SQL does not by default,

    is there an option I can change to do the same task?

    Thank you

    No, you will need to open a popup DESC of the query to see the data types of the data returned.

  • variable presentation changing the data type date to string the Calende

    Hi gurus,

    I'm having a strange problem. I have a Start date and end date fast that aren't on any column presentation for example (in the case where 1 = 0 DATE. DATE other cast ('2100-12-31 Date ') end).
    Now, this prompt, I put 2 startdate and enddate variables presentation to use in my sql filter in the report.i use these variable to calculate the date for these 2 end dates and then I apply between it function with these 2 dates.
    The question is when the dashboard is running for the first time the presentation variable takes the dates as the DATE "' 2009/14/10 and when I change the date and click on the go button, the variables is October 15, 2009" as strings anf so DATE in my SQL filter functions fails and error throughts VD.

    All of the suggestions!

    Nico explain already.

    Select date '' 2009-12-15 of the double - TRUE
    Select date of 2009 '-15-12' of the double - ORA-01843: not one month valid
    Select date ' 10/2009/15 ' of double - ORA-01861: literal does not match the format string

    DATE 'yyyy-mm-dd' does that have this format.

    Concerning
    Goran
    http://108obiee.blogspot.com

  • length of the data type of a column

    Hello

    I would like to know if it is possible to find the length of the
    data type in a create table stmt.

    For example:
    create employee table (empno number (3), empname varchar (10));


    in the DDL above I mentioned the size of my 3 number data type.
    is there a way to retrieve this info. ?
    outside desc < table_name >?


    Thanks in advance
    SQL> create table employee(empno number(3),empname varchar(10))
      2  /
    
    Table created.
    
    SQL> select column_name
      2       , data_length
      3       , data_precision
      4       , data_scale
      5    from user_tab_columns
      6   where table_name = 'EMPLOYEE'
      7  /
    
    COLUMN_NAME                    DATA_LENGTH DATA_PRECISION DATA_SCALE
    ------------------------------ ----------- -------------- ----------
    EMPNO                                   22              3          0
    EMPNAME                                 10
    
    2 rows selected.
    

    Details on the columns can be found in the documentation: http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_2094.htm#I1020277

    Kind regards
    Rob.

Maybe you are looking for