没法写程序,只能写存储过程和触发器,触发器要对多个数据库下的某张表 *** 作,表名确定,但数据库不固定,数据库名也存在某张表下。我想方便的进行表 *** 作,请问有什么方法吗?
目前我采用的方法是
@sql='insert into '+@DBName +'dbotable(1,1,1,1,)'
exec (@sql)
这种方式,不过太麻烦
不太明白
我给你提供个思路,不要光从sql角度考虑,从java语言提供的异常机智考虑会更简单因为我在对数据库进行轮询的时候也经常遇到这样的问题
最好的解决之道就是如果不存在就插入,如果重复,就跳过
//将插入语句放在循环体中
for(int i=0;i<n;i++){
try{
//省略具体插入代码
//插入的代码块,如果插入异常,将会发生异常 ,并被catch捕捉,但程序不做任何处理继续循环下面一条!!所有不存在的数据将会被正常插入所有插入异常将会被忽略!
}catch(Exception e){
}
}
---这个解决之道就是正常则插入,异常则跳过,满足了你的要求的呵呵,就是你想要的答案吧
exec函数族的作用为根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。
exec函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程ID等一些表面上的信息仍保持原样,看上去还是旧的躯壳,却已经注入了新的灵魂。只有调用失败了,它们才会返回一个-1,从原程序的调用点接着往下执行。
扩展资料
使用exec函数族主要有两种情况:
1、当进程认为自己不能再为系统和用户做出任何贡献时,就可以调用exec函数族中的任意一个函数让自己重生。
2、如果一个进程想执行另一个程序,那么它就可以调用fork函数新建一个进程,然后调用exec函数族中的任意一个函数,这样看起来就像通过执行应用程序而产生了一个新进程(这种情况非常普遍)。
参考资料来源:百度百科-exec函数族
参考资料来源:百度百科-exec
以上就是关于对不同的数据库 *** 作,怎样方便对某个数据库下的一张表insert select update全部的内容,包括:对不同的数据库 *** 作,怎样方便对某个数据库下的一张表insert select update、向数据库里插入大量数据,怎么实现不插入重复的记录、sql server 中EXEC的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)