sqlServer表类型使用

建自定义表类型的好处是在不同的数据库之间操作比较方便速度比较快。

1、在数据库中建自定义表类型。


如:
CREATE TYPE [dbo].[UdtDealerScore] AS TABLE(
[UserID] [int] NULL,
[bangScore] [int] NULL
)
GO

2、建存储过程。

如:
create PROCEDURE [dbo].[DealerScoreSync] 
@DealerScore dbo.UdtDealerScore READONLY--@DealerScore:传过来的参数,dbo.UdtDealerScore:自定义表类型,READONLY:只读
AS
BEGIN
    Update ude
    set ude.Score = ds.bangScore
    FROM dbo.UserDealerExtend ude--dbo.UserDealerExtend:数据库表明
    INNER JOIN @DealerScore ds on ude.UserID = ds.UserID
END
GO

3、代码方面的操作:

(1)查出来userid和bangScore的两行数据,
如:
Database db=DB.Read;
DataTabel dt=db.GetTable("select userid,bangScore from Dealer");

using (SqlConnection sqlConn = new SqlConnection("数据库连接字符串"))
 {
                SqlCommand cmd = new SqlCommand("DealerScoreSync", sqlConn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter tvpParam = cmd.Parameters.AddWithValue("@DealerScore",dt);--@DealerScore传的参数
                tvpParam.SqlDbType = SqlDbType.Structured;
                tvpParam.TypeName = "UdtDealerScore";--自定义表类型名称


                sqlConn.Open();
                cmd.ExecuteNonQuery(); 
                sqlConn.Close();
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值