sql server 表值类型的使用
2016-01-25 09:48
405 查看
如果你需要向存储过程中传递一个table 那么就用到了表值类型
1.创建表值类型
2.创建存储过程
3.Ado.net 使用表值类型
备注:table创建
1.创建表值类型
CREATE TYPE [dbo].[StorePreSeparationAmount] AS TABLE( [preSeparationId] [int] NOT NULL, [preSeparationAmount] [decimal](18, 2) NOT NULL, [userCode] [varchar](20) NOT NULL ) GO
2.创建存储过程
CREATE PROC sp_preSeparationCommit ( @spsa StorePreSeparationAmount READONLY ) AS UPDATE ps SET ps.preSeparationAmount=spsa.preSeparationAmount, ps.updater=spsa.userCode, ps.updateTime=GETDATE() FROM dbo.wms_preSeparation ps INNER JOIN @spsa spsa ON ps.preSeparationId=spsa.preSeparationId
3.Ado.net 使用表值类型
public bool updatePreSeparationAmount(DataTable dtStorePreSeparationAmount) { string strSpName = @"sp_preSeparationCommit"; SqlParameter[] pars = { new SqlParameter("@spsa",SqlDbType.Structured), }; pars[0].Value = dtStorePreSeparationAmount; pars[0].TypeName = "StorePreSeparationAmount"; int num = DalBase.ExecuteNonQuery(CommandType.StoredProcedure, strSpName, pars); if (num > 0) { return true; } else { return false; } }
备注:table创建
DataTable dtStorePreSeparationAmount = new DataTable("dtStorePreSeparationAmount"); dtStorePreSeparationAmount.Columns.Add("preSeparationId", Type.GetType("System.Int32")); dtStorePreSeparationAmount.Columns.Add("preSeparationAmount", Type.GetType("System.Decimal")); dtStorePreSeparationAmount.Columns.Add("userCode", Type.GetType("System.String")); DataRow drNew = dtStorePreSeparationAmount.NewRow(); drNew["preSeparationId"] = nPreSeparationId; drNew["preSeparationAmount"] = dPreSeparationAmount; drNew["userCode"] = login.UserName; dtStorePreSeparationAmount.Rows.Add(drNew);
相关文章推荐
- oracle逻辑导入小错:提示无法创建日志提示
- MongoDB常用命令
- ORA-16957: SQL Analyze time limit interrupt
- 关于MySQL数据导出导入的文章
- oracle-备份方案之(EXP+任务计划)
- 打开MySQL数据库远程访问的权限
- oracle10G之前介质下载地址【珍藏版】
- MySQL在远程访问时非常慢的解决skip-name-resolve 并且出现 Reading from net
- sqlite3简单使用
- Memcached源码分析之内存管理
- memcached CAS协议
- NopCommerce添加新功能“类型属性”【实体类的数据库映射类】
- mysql经常使用的命令
- 逗号分隔存储 && mysql字符串函数初探
- 数据库性能优化之SQL语句优化
- MySql效率问题
- sql中的聚合函数加举例
- 实际中来总结sql里面 sum 和 count区别
- mongodb 最佳实践
- Cobar使用文档(可用作MySQL大型集群解决方案)