sql语句的一些小积累 持续更新。。。

来源:互联网 发布:东北网络搞笑歌曲 编辑:程序博客网 时间:2024/05/17 22:30

sql语句的活学活用可以省很多事儿。

 

1.  比如说要建一个和已知表一样的字段甚至一样的内容的时候,我们可以这么用,

create table a as select * from b

 

如果你想要里面的数据 这样就ok了 ,如果不想要呢,就把数据delete好了,

 

delete from a

 

2. 有的时候我们需要跨库复制一些数据,那我们就要用到跨库查询这样的东东了

 

create table a as  (select * from 用户名_数据表名@数据库名)

 

这样就ok啦 呵呵。

 

3. 如果要批量修改数据库表中的数据,比如在某一张表的字段里符合条件的数据前都加上某个字符串,可以用下列语句。

update 表名 SET 字段名='需添加的字符串'||substr(字段名,0) where 字段名<to_date('2011-07-01','yyyy-mm-dd')

这里添加在最前面,查找七月份前的数据,在该字段名上添加一个字符串。

 

4. 如果要批量替代表中某字段的内容,可以用:

update 表名 set 字段名=replace(字段名,'需要被替代的字符串','替代的字符串')

 

5. 如果要更新表,应写select * from  表名 for update,然后打开解锁按钮,即可更新。

 

6. sql语句写在代码中不应加上分号,否则会报ora-00911,invalid character的错误。

 

7. gridview 中的datafield一栏中应写上中文,否则导出到excel中的列名会是英文

8. 用where 1=1 可以连接有条件的 and 语句。。。

9. update之后,用commit语句,新更新的语句便可立即使用了,否则得等到下次启动oracle时才能有效。例如:

update cy_yh_OFFER_INSTANCE_PARA
  set dc_sql_desc=replace(dc_sql_desc,'item_desc FROM','item_desc, one_off_charge FROM')
   where dc_sql_desc like '%inf_pricing_group_item_desc%';
commit;

 

 

 

原创粉丝点击