`
jackleechina
  • 浏览: 587198 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

动态sql的传参方法和获取返回值

    博客分类:
  • sql
 
阅读更多
一)动态sql的传参方法
/* 实现动态sql传参的方法一:用数字变量转换为varchar*/
declare @sql_select varchar(max) 
declare @sql_group varchar(max)  
declare @sql_where varchar(max) 
set @sql_select=substring(@sql_select,1,len(@sql_select)-1)+' as groupItem,sum(pieces)*'+cast(@quantityPerGarment as varchar(20))+' as quantity from sizeBreakdown '
set @sql_group=substring(@sql_group,1,len(@sql_group)-1)
exec(@sql_select+@sql_where+@sql_group)

		
/* 实现动态sql传参的方法二:使用sp_executesql*/
declare @sql_select nvarchar(max) --这里必须是nvarchar 
declare @sql_group nvarchar(max)  --这里必须是nvarchar
declare @sql_where nvarchar(max)  --这里必须是nvarchar
declare @sqls nvarchar(max)	       --这里必须是nvarchar
set @sql_select=substring(@sql_select,1,len(@sql_select)-1)+' as groupItem,sum(pieces)*@quantityPerGarment as quantity from sizeBreakdown '
set @sql_group=substring(@sql_group,1,len(@sql_group)-1)
		set @sqls=@sql_select+@sql_where+@sql_group
print @sql_select
exec sp_executesql @sqls,N'@quantityPerGarment numeric(20)',@quantityPerGarment 


二)动态sql获取返回的结果集
获取动态sql返回值,参见http://www.cnblogs.com/wanyuan8/archive/2011/11/09/2243483.html
分享到:
评论

相关推荐

    C#打开php链接传参然后接收返回值的关键代码

    这里使用了`$_POST`来获取C#传递的参数: ```php header("Content-Type:text/html;charset=UTF-8"); // 接收C#传递的参数 $u = $_POST['zdupdate']; $p = $_POST['pid']; $a = $_POST["afid"]; $d = $_POST[...

    java操作数据库万能增,删,改

    “万能”增、删、改操作通常指的是使用预编译的SQL语句来动态执行数据插入、删除和更新操作。预编译的SQL语句能够有效防止SQL注入攻击,提高代码的安全性和执行效率。下面,我们将通过一个具体的代码片段来理解这一...

    调用webservice,通过post传参读取返回的XML

    `XmlDocument`提供了读取、操作和处理XML文档的方法。 6. **Default.aspx和Default.aspx.cs**:这些文件代表ASP.NET的Web Forms页面。`Default.aspx`是用户界面,而`Default.aspx.cs`包含了与页面相关的后台逻辑。...

    【ASP.NET编程知识】ASP.NET连接sql2008数据库的实现代码.docx

    本文档主要讲解了 ASP.NET 连接 SQL2008 数据库的实现代码,包括使用 SqlConnection 对象连接数据库,SqlCommand 对象对数据库进行读取,SqlCommand 类的属性和方法等。 连接 SQL2008 数据库 ASP.NET 连接 SQL2008...

    jdbc调用存储过程,函数,游标

    创建CallableStatement,设置SQL语句为`{call function_name(参数1, 参数2, ...)`},然后执行并获取返回值。 游标在数据库操作中用于遍历查询结果集。在JDBC中,当你执行一个查询后,结果会被返回到ResultSet对象,...

    mybatis入门

    - 对于复杂的条件判断和动态SQL构建,MyBatis提供了丰富的标签如`<if>`、`<choose>`、`<when>`、`<otherwise>`等来支持动态SQL的构建。 #### 七、DAO层接口向XML传值 1. **非注解传参**: - 单个非String类型的...

    pymysql 操作MySQL数据库

    `connect()` 方法传参就是在给 Connection 类的 init 初始化魔术方法参数,也可以理解为 `connect()` 方法就是在创建新的 Connection 类。 游标 Cursor 在使用 `pymysql.connect()` 方法与数据库建立连接后,想要...

    MySQL 存储过程传参数实现where id in(1,2,3,...)示例

    除此之外,还有一种更灵活但相对复杂的方法,即动态构造SQL语句并执行。以下是一个使用这种方法的存储过程示例: ```sql DROP PROCEDURE IF EXISTS photography.Proc_Test; CREATE PROCEDURE photography.`Proc_...

    关于通过java调用datax,返回任务执行的方法

    DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步...

    java经典面试2010集锦100题(不看你后悔)

    A) 抽象类的关键字是abstract,在抽象类中可以定义变量和方法。 B) 抽象类中的方法如果可以有实现体,如果没有实现体,则该方法叫做抽象方法必须加关键字abstract修饰该方法。 C) 抽象类中至少需要有一个方法被定义...

Global site tag (gtag.js) - Google Analytics