SQLSERVER 存储过程里 执行sql字符串 并返回结果
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: 停用/启用12个月销售目标
--exec [Proc_Create_SalespPlans] "'1485507540488949761','1485507420875788289','1485507282077880320'",1
CREATE PROCEDURE [dbo].[Proc_Create_SalespPlans]
@userId varchar(200),
@state int
AS
BEGIN
declare @num int
declare @year_now int
declare @month int
declare @sqlstr nvarchar(225)
set @year_now = DateName(year,GetDate())
print @userId
set @sqlstr = 'select @num=count(*) from [dbo].[CmsPlan] where CreateUserId in ('+@userId+')'
EXEC sp_executesql @sqlstr,N'@num int out',@num OUTPUT
print @num
set @month = 1
if @num = 0
BEGIN
while @month<13
BEGIN
INSERT INTO [dbo].[CmsPlan] ([Id],[CreateUserId],[CreateUserName],[OrgId],[OrgName],[Year],[Month],[state])
SELECT NEWID() [Id],[User].Id [CreateUserId],[User].Name [CreateUserName],[Org].Id [OrgId],[Org].Name [OrgName],@year_now,@month,@state
FROM [User]
INNER JOIN Relevance ON [User].Id=Relevance.FirstId AND Relevance.[Key]='UserOrg'
LEFT JOIN Org ON Relevance.SecondId=Org.Id AND Org.[Status]=0
WHERE [User].[Status]=0 AND Org.Name='业务部' and [User].Name!='admin' and [User].Id = @userId
set @month += 1
print @month
END
END
ELSE
BEGIN
set @sqlstr='update [dbo].[CmsPlan] set state = '+cast(@state as varchar)+' where CreateUserId in ('+@userId+')'
exec sp_executesql @sqlstr
END
END
SQLSERVER 存储过程里 执行sql字符串 并返回结果的更多相关文章
- SQL Server中执行Sql字符串,返回执行结果
今天遇到一个问题:想把sql字符串在SQL Server 中执行了,并获取执行的结果 ); SET @tablename='select @table3 = count(1) from UserVis ...
- 使用C# 操作存储过程,执行sql语句通用类
如何使用C# 操作存储过程,执行sql语句? 闲话不多说,直接上代码: /// <summary> /// Sql通用类 /// </summary> ...
- 使用字面量或者绑定变量在HANA Studio里执行SQL语句
在SAP note 2000002 – FAQ: SAP HANA SQL Optimization里提到了SQL语句的两种执行方式,具体差异体现在where语句里搜索条件的指定方式上. 所谓Lite ...
- dblink 的源数据表结构修改后在存储过程里执行报错
原情况:A服务器表A服务器B也有一张表A服务器B上有一个存储过程要把本地的head表向A服务器表里插入数据.变更后:在A服务器表里增加了一个字段inserttime,服务器B存储过程本地表向A服务器插 ...
- 20191217-关于JPA @Query查询数据一直为空,直接在数据库里执行SQL则可以查出来
20191217-关于JPA @Query查询数据一直为空,直接在数据库里执行SQL则可以查出来 前提:数据库中查询,由于在视图中无主键概念,只是在代码中由逻辑主键.结果:数据中作为逻辑主键中有个字段 ...
- sqlserver存储过程里传字段、传字符串,并返回DataTable、字符串,存储过程调用存储过程。
经常需要查一些信息, 想写视图来返回数据以提高效率,但是用试视图不能传参,只好想到改存储过程.记录一下语法,方便以后做项目时候想不起来了用. 1:传字段返回datatable 2: 传字段回一串字符 ...
- Oracle 在函数或存储过程中执行sql查询字符串并将结果值赋值给变量
请看黄色部分 --区县指标 THEN TVALUE_SQL := 'SELECT TO_CHAR(' || CUR_ROW.MAIN_FIELD || ') FROM ' || CUR_ROW.END ...
- python MySQL执行SQL查询结果返回字典
写自动化测试的时候我希望执行数据库前置任务,把数据库查询的结果作为请求的参数,但是正常返回结果为列表嵌套里面,这样就会影响到关键字准确的获取,特别的受限于SQL的查询字段的的顺序,所以希望返回的单条数 ...
- mysql 存储过程动态执行sql语句
之前经常在程序中拼接sql语句,其实我们也可以在存储过程中拼接sql 语句,动态的执行~~ 代码如下: DROP PROCEDURE IF EXISTS SearchByDoctor;CREATE P ...
- sp_executesql得到执行sql语句的返回值
执行 sql语句,得到 变量的值 ' declare @Partition int; ); ); SET @SQLString = N'SELECT @RangeKeyOUT = $PARTITION ...
随机推荐
- Unix时间戳转化成普通日期
var time = 1630634462000; //13位数 var unixTimestamp = new Date(time); var commonTime = unixTimestamp. ...
- java原生的分页工具
@NoArgsConstructor @Data //生成 空参构造 get.set. tostring. equals. hascode public class PageUtils<T> ...
- oracle 导出导入表 不到出指定表
导出多个表 exp LSXYYSZHMRMS/******@PK99SERVICE file=d:\fuhcx.dmp tables=(fhcxgxxx,fhcxjcxx,fhcxlbxx,fhcx ...
- DataWork之 MaxComputer的使用
注意: 由于MaxComputer里面没有主键 默认主键为 保单号+8位险种代码+责任起期 若无主键限制,就对所有的字段进行分组 所以每次join的时候,where条件需要加上 a.主键 =b.主键 ...
- 苹果App 上架 app store 提示 “一张或多张屏幕快照的尺寸存在错误“
获取预览图的方式有两种:第一种是用真机运行然后截图获取:另一种是用模拟器运行然后截图获取. 先说说第一种获取方式:app运行在5.5英寸(6+)的手机上,截取屏幕快照.在上传时会报错:"一张 ...
- 解决GitHub下载速度慢下载失败的问题
最近在GitHub上拉取代码时,每次git clone都是文件下载完了发现连接就断掉了,或者下载压缩包显示网络连接错误的情况.下面介绍找到的解决方法: 1.打开码云(当然不是福报)https://gi ...
- mysql窗口函数
使用MySQL开窗函数之前一定先确定当前数据库版本是否支持,因为只有MySQL8.0以上的版本才支持开窗函数 用navicat如何查看MySQL的版本的方法: 在出现的界面输入命令 select v ...
- js判断图片链接是否有效
let checkImgExists = function(url) { return new Promise(function(resolve, reject) { let ImgObj = new ...
- postgresql数据库插入和读取图片
postgresql插入和读取图片 postgresql存储图片需要二进制类型bytea,创建一张测试表: postgres=# create table test_image(img bytea); ...
- allure-动态参数,报告优化方法。
1.allure.title方法 #前置需要在源文件:\venv\Lib\site-packages\allure_pytest\listener.py#在该文件修改为这样:test_result.p ...