首页 新闻 搜索 专区 学院

sql 2000 存储过程问题

0
悬赏园豆:10 [已解决问题] 解决于 2014-11-22 14:41

由于业务需要,我需要在存储过程中由传入的ID值,先读取一个表中的数据,然后将读取到的几个字段的值作为新记录插入到另一个表中。比如订单记录中有客户的资料,我将此资料作为新客户资料插入到客户表中。

简单的说:就是如何在存储过程中读取一个表中的数据,并取得这些数据后进行一系列的处理。

最好有详细的代码,我在存储过程方面是新手。。。

iQingHan的主页 iQingHan | 初学一级 | 园豆:19
提问于:2010-09-01 17:45
< >
分享
最佳答案
0

CREATE PROCEDURE insertSelectedResult
    @StudentID int
AS
BEGIN
    SET NOCOUNT ON;

    insert dbo.T_ClientInfo(ID, ClientName)
    select StudentID AS ID, StudentName as ClientName
    from  dbo.T_Student
    where StudentID=@StudentID
END
GO

两张表:

T_ClientInfo:

T_Student:



收获园豆:10
HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-09-01 19:14
你好,我根据你的示例写了存储过程,不过报错,不知是什么问题,请帮忙看下: CREATE PROCEDURE UP_order_SameCustomer @oid int, @mid int output as begin INSERT INTO [member]( [memberName],[jacketLength],[chest],[waist],[bottomHips],[shoulderWidth],[neckWidth],[sleeveLength],[muscle],[cuffOpenning],[bp],[np],[fc],[bc],[sfw],[sbw],[pantsOutseam],[seat],[hipsHight],[thigh],[bottom],[crotchLength] ) select [customerName] as memberName,[jacketLength],[chest],[waist],[bottomHips],[shoulderWidth],[neckWidth],[sleeveLength],[muscle],[cuffOpenning],[bp],[np],[fc],[bc],[sfw],[sbw],[pantsOutseam],[seat],[hipsHight],[thigh],[bottom],[crotchLength] from [order] where [oid]=@oid SET @mid = @@IDENTITY update [order] set [memberId]=@mid where [oid]=@oid end GO
iQingHan | 园豆:19 (初学一级) | 2010-09-02 09:54
不能排版,看起来太乱了,郁闷。。。
iQingHan | 园豆:19 (初学一级) | 2010-09-02 09:57
其他回答(2)
0

1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a
2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

慧☆星 | 园豆:5555 (大侠五级) | 2010-09-01 17:58
同意楼上观点
支持(0) 反对(0) like%'远远'% | 园豆:635 (小虾三级) | 2010-09-01 18:57
0

 CREATE PROCEDURE UP_order_SameCustomer
 @oid int, @mid int output
 as
 begin
  INSERT INTO [member]( [memberName],[jacketLength],[chest],[waist],[bottomHips],[shoulderWidth],[neckWidth],[sleeveLength],[muscle],[cuffOpenning],[bp],[np],[fc],[bc],[sfw],[sbw],[pantsOutseam],[seat],[hipsHight],[thigh],[bottom],[crotchLength] )
  select [customerName] as memberName,[jacketLength],[chest],[waist],[bottomHips],[shoulderWidth],[neckWidth],[sleeveLength],[muscle],[cuffOpenning],[bp],[np],[fc],[bc],[sfw],[sbw],[pantsOutseam],[seat],[hipsHight],[thigh],[bottom],[crotchLength]
   from [order]
   where [oid]=@oid
  SET @mid = @@IDENTITY
  update [order] set [memberId]=@mid
   where [oid]=@oid
end

hovering | 园豆:38 (初学一级) | 2010-09-03 14:41
我仔细看了下,好像跟我原来写的一样的哦,想问下差别在哪里,我的代码哪错了???
支持(0) 反对(0) iQingHan | 园豆:19 (初学一级) | 2010-09-03 21:52
@jasonoiu:我只是去掉那个语句中的go 语法检查是通过了啊
支持(0) 反对(0) hovering | 园豆:38 (初学一级) | 2010-09-14 12:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册