首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问存储过程和函数的思路

2012-01-12 
请教存储过程和函数的思路对数据库中的一个表,我要从另一个表中Select多行出来Insert进来,本来只用一个语

请教存储过程和函数的思路
对数据库中的一个表,我要从另一个表中Select多行出来Insert进来,
本来只用一个语句就可以了,
Insert   Into   Table1(...)
              (Select   ...   From   Table2   Where   )

但是现在,对Table2   Select出来的某一列需要作一些较为复杂的计算,
并且这个计算中要对另一个表Table3进行Update;
本来,如果没有Update语句,直接写一个函数就可以了.
但现在真不知道怎么办?


请教了.等待中...

[解决办法]
中间可以用临时表转换...
[解决办法]
用存储过程实现
[解决办法]
先对table2进行计算结果存在临时表了,到时插入时从临时表中取.
[解决办法]
存储过程吧
[解决办法]
建议:
在table3上创建update触发器,这样就可以不用在这里加入相应的update代码了。
[解决办法]
分成两次update不行吗?

第一次计算table2,update table3
第二次再重新计算table2,或者从table3读,update table1。

何必写成函数?
调用越复杂越慢。。。。
[解决办法]
写成存储过程,函数中不能执行UPDATE操作
[解决办法]
do fun1 with 'table1.dbf ', 'table2.dbf ', 'table3.dbf '

FUNCTION fun1(table1,table2,table3)
select * from &table2 into table temp

....对临时表temp的处理....

Insert Into &Table1(...) (Select ... From temp Where )

update &teble3 set ......=...... where.....
ENDFUNC
[解决办法]
數據庫也用上了OOP的特點了
[解决办法]
頂啊,同時更新大批數據會不會引起死鎖啊?

热点排行