加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlServer表类型使用

发布时间:2020-12-12 13:59:25 所属栏目:MsSql教程 来源:网络整理
导读:建自定义表类型的好处是在不同的数据库之间操作比较方便速度比较快。 1、在数据库中建自定义表类型。 如: CREATE TYPE [dbo].[UdtDealerScore] AS TABLE( [UserID] [int] NULL, [bangScore] [int] NULL ) GO 2、建存储过程。 如: create PROCEDURE [dbo].[

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

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(); ?}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读