有这样一种情景,在正规的公司中,由于维护人员对于某个公司正式环境的数据库只有查询的操作,没有更新或者下载的操作,但是需要从正式环境导出一份数据到另外的测试环境上,如何实现,下面这种方法可以参考:
方法:
select "insert into zq_department values ( "
||depart_id ||","
||"'"||depart_name ||"'"||","
||"'"||depart_fullname ||"'"||","
||company_id ||","
||depart_admin ||","
||depart_type ||","
||depart_security ||","
||"'"||created ||"'"||","
||depart_parent ||","
||depart_priority ||","
||"'"||del_flag ||"'"||","
||"'"||description ||"'"||","
||"'"||dept_email ||"'"
||" ) go "
from zq_department
这样查询出来的结果,全都是insert语句,把查询结果复制出来后放到另外一个数据库里面,可以直接执行。
注意:
1.最后面的“go”,用于分隔不同的insert语句执行时的批量操作。
2.注意如果是整型的,没有单引号(当然,对于那些可以直接将整型字符串插入到整型字段的数据库,加不加上单引号就都无所谓了);如果是字符串型的,有单引号!!
3.注意:在生成的批量的insert语句中,最后面的go 需要换行!!可以使用notepad++ 或者 UE等功能更加强大的记事本工具进行替换!!
以notepad++为例:将go 替换为 \n go \n 也就是go的前后分别换行,这是在informix数据库中,其他数据库没有试过!