SQL语句使用总结(二)

一、C#组合查询的便捷方法。
object objImportDateFrom = DBNull.Value;

 if (importDateFrom != "")
  {
     objImportDateFrom = importDateFrom;
  }

   new SqlParameter("@ProductSaleTimeFrom",ObjproductSaleTimeFrom),
  new SqlParameter("@ProductSaleTimeTo",productSaleTimeTo),
...................................
//sql存储过程
CREATE PROCEDURE [dbo].[UP_ProductFocus_SalesStatistics]  
    @Code nvarchar(10)='',  
   @ProductCreateTimeFrom DATETIME=null,--导入系统时间    
   @ProductCreateTimeTo DateTime=null
as  
begin  
AND (@SearchCodeList='' OR cn.Code  IN (Select * From dbo.fun_split(@SearchCodeList,',')))  
AND (@ProductCreateTimeFrom is null OR cn.CreateTime between @ProductCreateTimeFrom and @ProductCreateTimeTo) 
end

(2)、时间范围的处理方法,这样可以防止不同电脑上的时间设置格式的不同。

productSaleTimeFrom = this.dtpStartSellDateFrom.Value.Date.ToString("yyyy-MM-dd") + " 0:00:00";//2012-09-14 0:00:00
productSaleTimeTo = this.dtpStartSellDateTo.Value.Date.AddDays(1).AddMilliseconds(-100).ToString("yyyy-MM-dd") + " 23:59:59";//2012-09-14 23:59:59

(3)、sql中的事务写法
1、方法一
begin tran(开启事务)
begin try
//语句块
//……….
//……….
//……….
   commit tran(提交事务)
--return 1
end try
begin catch
   rollback tran(回滚事务)
--return 0
end catch
2、写法二
begin transaction
declare @error int
set @error = 0
insert into borrows(rid,bid,borrowdate) values
(5,10,2008-6-11)
set @error = @error + @@error
update books set bstate=1
where bid=10
set @error = @error + @@error
if @error <> 0
  rollback transaction
else
  commit transaction
源文档 <http://blog.sina.com.cn/s/blog_75a83e8b0100u7nx.html>
CREATE PROCEDURE UP_EbestPostOrderHeader_UpdateExportConfim
@EbestPostOrderHeaderId INT,
@User NVARCHAR(50)
AS
BEGIN
Begin try
Begin Tran
    UPDATE dbo.EbestPostOrderHeader SET IsExport = 1, ExportDate = GETDATE(), LastUpdTime= GETDATE(),LastUpdUser = @User
     WHERE EbestPostOrderHeaderId = @EbestPostOrderHeaderId
     UPDATE dbo.PromotionOrderHeader SET IsExport = 1, ExportTime = GETDATE(), LastUpdTime= GETDATE(),LastUpdUser = @User
     WHERE EbestPostOrderHeaderId = @EbestPostOrderHeaderId
     COMMIT TRAN
END TRY
BEGIN CATCH
   ROLLBACK TRAN
END CATCH
END

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏蓝天

MySQL中MyISAM引擎与InnoDB引擎性能简单测试

[硬件配置] CPU : AMD2500+ (1.8G) 内存: 1G/现代 硬盘: 80G/IDE [软件配置] OS : Windows XP SP2 S...

902
来自专栏猿人谷

Mysql中DDL, DML, DCL, 和TCL是什么?

在一些公司中提交给测试团队的SQL脚本会划分为DDL、DML等,但这些概念到底是如何定义的呢?

1073
来自专栏我的博客

ubuntu安装puref-ftpd

1.安装pureftpd sudo apt-get install pure-ftpd sudo apt-get install pure-ftpd-mysql...

2984
来自专栏乐沙弥的世界

MySQL视图

视图是关系型数据库重要的组成部分之一,它可以限制数据访问,简化复杂查询,保持数据的独立性,以及基于相同的数据提供不同的视图等等。本文介绍MySQL数据库视图的一...

922
来自专栏xingoo, 一个梦想做发明家的程序员

Mysql Insert Or Update语法实例

有的时候会需要写一段insert的sql,如果主键存在,则update;如果主键不存在,则insert。Mysql中提供了这样的用法:ON DUPLICATE...

2057
来自专栏技术博文

MySQL SHOW PROFILE(剖析报告)的查看

前言:SHOW PROFIL命令是MySQL提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量。 一、参数的开启和关闭设置 1.1 参...

3363
来自专栏机器学习从入门到成神

org.hibernate.hql.ast.QuerySyntaxException is not mapped异常

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

1122
来自专栏吴柯的运维笔记

mysql数据库服务概述

什么是数据库? ? 常见数据库服务软件介绍: ? mysql数据库的特点及应用: ? 数据库基本管理 # mysql -u root -p -h 127.0...

3028
来自专栏沃趣科技

Performance Schema使用简介(一)

Performance Schema简介 Oracle DBA都应该知道 Oracle中提供了大量的视图供DBA们排查问题使用,并且有等待事件帮助大家快速定位问...

47110
来自专栏个人随笔

sql sever[基本] ''增删改'' 随笔

  结构语言分类  DDL(数据定义语言)  create  drop  alter   创建删除以及修改数据库,表,存储过程,触发器,索引....  DML(...

2926

扫码关注云+社区

领取腾讯云代金券