在oracle数据库中插入数据时,怎样允许插入空值!我要sql语句。 不为空的字段是不是不允许为空

如题所述

第1个回答  2013-01-11
insert into table values('') 这样就行了呗,但字段得是允许为空才行追问

要是查询数据时,查询条件不知道是否有时,sql语句怎么写啊!

追答

select * from table where 1=1

if(条件 != null){
sql += " and 字段=值 ";
}
就可以了

本回答被提问者采纳
第2个回答  2013-01-11
字段都设置成not null了就没法插入空了,你只能去修改表结构追问

要是查询数据时,查询条件不确定有几项时,sql语句怎么写啊!

追答

那你需要写一个动态的查询方法,参数是arraylist,调用这个方法时将条件放入arraylist里,方法里面循环这个list,拼接处动态sql
String select_sql = "select * from a where 1=1 ";
for(int i = 0,n = list.size();i < n;i++){
select_sql += list.get(i);

}

更好的写法是不使用String ,而是用StringBuilder类

追问

要是把他写在对象里,行不?

追答

select_sql += list.get(i);这句错了

应该是select_sql += " and " + list.get(i);

不行,哪有写对象里的,写成方法才能多个对象共用

追问

我用的是ibatis,sql语句是要写在ibatis中的,怎么办。测试传参时,是不是要把我传的参数封装到map集合中啊!

相似回答