建自定义表类型的好处是在不同的数据库之间操作比较方便速度比较快。
1、在数据库中建自定义表类型。
如:
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
@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(); }
{
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(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。