change the data type of a column
Since the previous post: how to change the data type of column number to varchar2 in oracle10gMeasures 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.sqlSELECT 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_charIt'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_OBJCREATE 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_ID DATA_VALUE 12 0 12 1 12 3 11 THERE 11 N 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
MarkHello
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.
- 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
- 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)
- Use a tab with the variant (similar to option 1) control put each kind of data in its own tab, enable only the current
- Do a Control-X to accept a Variant option 1 under the hood
- 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.
HashimHello
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 stringDATE '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 advanceSQL> 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
-
Installation of the SCOM Agent on servers in the DMZ
Dear, can you please help me with the exact steps to install SCOM Agent to the DMZ (no trusted domain) server to monitor anyone and is it possible to test it before in any Windows 7 PC. ? Thanks in advance
-
HP Pavilion dv2000t keeps restarting...?
My friend has a laptop HP Pavilion dv2000 and it was incredibly slow. Someone had installed a variety of free antivirus and firewall for them programs, but it seemed that there was still a virus somewhere and nothing turn scans. The laptop is used pr
-
HP EliteBook Folio 1040 G1 F8 &; brightness of the display of the F9 key does not
I recently got a new laptop at work (a few of us have) and we all have the same problem with this laptop. The function keys F8 and F9, which are labeled to control the brightness of the screen, do not work. I searched on several forums, and I can't f
-
MDS Simulator "do not have access to.
I am trying to build a simple Midlet based soap client. I'm using kSOAP2 I use: Blackberry Simulator 9000 - 4.6.0.150 JDE 4.7.0.41 4.1.2 MDS Simulator Web service based on kSOAP2 (best docs and depolyment simpler) I am able to browse the web inside t
-
How to remove used passwords previously used to connect to Windows 8 of my computer's memory
Can you please tell me how to remove the memory of my computer, I already used to log-in to Windows 8 that I would use again and the computer says I can't use old passwords password. With our thanks