long列是不允许出现在create table xx as select * from yyy里的 oracle建议使用clob\blob\nclob来代替。 如: create table t(a int,b long); insert into t values(1,'1'); --可以这样创建,不过默认类型就成了clob create table t1 as select .。
看提示 应该是某列数据类型不对应,你这个连表查询你看看查出列与你插入列的数据类型都对应不,主要看 数值类型的,提示是long。
找到要转换的字段名
create table t1 as select to_number(字段名,'999999999999999999') from t2@to_sql ;。
交换机在JAVA中不能使用long的根本原因是长时间转换为int将失去精度,导致数据不准确,因此JAVA交换机具有不允许长的逻辑规则。
switch语句中的变量类型可以是:byte,short,int或char。从Java SE 7开始,交换机支持字符串String类型,case标记必须是字符串常量或文字。
扩展资料
Switch案例在java中有以下规则:
switch语句可以有多个case语句。每个案例后跟一个值和一个要比较的冒号。
case语句中值的数据类型必须与变量的数据类型相同,并且只能是常量或文字常量。
当变量的值等于case语句的值时,case语句后面的语句开始执行,直到break语句出现跳出switch语句。
遇到break语句时,switch语句终止。程序跳转到switch语句后的语句执行。 case语句不必包含break语句。如果没有发生break语句,程序将继续执行下一个case语句,直到发生break语句。
switch语句可以包含一个默认分支,它通常是switch语句的最后一个分支(可以是任何地方,但建议在最后一个)。当case语句没有值且变量的值相等时,执行Default。默认分支不需要break语句。
参考资料:百度百科-JAVA
不是不推荐使用的,是一般用不到,而有些时候是会用到的,所以不能一概而论。
1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。
2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。
3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。
4、很多工具,包括SQL*Plus,处理LONG 数据类型都是很困难的。
5、LONG 数据类型的使用中,要受限于磁盘的大小。
能够操作 LONG 的 SQL 语句:
1、Select语句
2、Update语句中的SET语句。
3、Insert语句中的VALUES语句。
限制:
1、一个表中只能包含一个 LONG 类型的列。
2、不能索引LONG类型列。
3、不能将含有LONG类型列的表作聚簇。
4、不能在SQL*Plus中将LONG类型列的数值插入到另一个表格中,如insert into …select。
5、不能在SQL*Plus中通过查询其他表的方式来创建LONG类型列,如create table as select。
6、不能对LONG类型列加约束条件(NULL、NOT NULL、DEFAULT除外),如:关键字列(PRIMARY KEY)不能是 LONG 数据类型。
7、LONG类型列不能用在Select的以下子句中:where、group by、order by,以及带有distinct的select语句中。
8、LONG类型列不能用于分布查询。
9、PL/SQL过程块的变量不能定义为LONG类型。
10、LONG类型列不能被SQL函数所改变,如:substr、instr。