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 ...
随机推荐
- 使用WTM框架项目的部署遇到的问题及解决方式
.打开web.config找到stdoutLogEnabled="false",把该值改为true,即->stdoutLogEnabled="true"1 ...
- Centos7忘记root密码,修改root密码及其他用户密码
具体步骤: 1.重启系统,在开机过程中,快速按下方向键↑和↓.在引导程序页面暂停. 2.选择第一行(背景高亮即为选中),按下键盘上的e,进入编辑模式 3.将光标一直移动到 LANG=en_US.UTF ...
- 实现两个APP之间的跳转传值
应用A 跳转到 应用B 1.在B中设置URL Schemes 加入一项item 并赋值,比如kiloMeter 并在B中实现 - (BOOL)application:(UIApplicatio ...
- Mysql主从备份指定库别名
问题:replicate-rewrite-db 不生效 解决方案: 尝试 注释掉 replicate-do-db ,不写 replicate-ignore-db,只写 replicate-rewri ...
- flask中的线程隔离技术
一.引入: 在无线程隔离情况下,通过线程调用函数,函数内部改变传入对象的属性值(排除非线程安全情况),都将更改传入的对象属性 1 import threading 2 3 class TestThre ...
- ubuntu 安装SVN
s1: [sudo apt-get install subversion] s2:本地新建一个文件夹如SVN,在该文件夹下打开终端输入命令[svn co https://xxx/svn/xxx --u ...
- Android自动化用例编写
java -jar appcrawler.jar<路径> --demo java -jar appcrawler.jar<路径> \ -c example.yml \ --c ...
- 添加matlab到右键菜单并从当前目录打开
前言 因为每次打开matlab都得切换一下工作目录,由于目录不固定,所以感觉会很麻烦,所以就想着怎么添加matlab到右键菜单,并从指定目录打开,不过网上没有关于怎么设置这个的,不过却又很多设置cm ...
- 修改docker0 中的inet
由于在服务器使用默认的172开头的ip,可能会跟别人的产生冲突,则就需要重新配置ip 1.创建daemon.json vi /etc/docker/daemon.json (不能打空格:用tab缩进) ...
- el-tree 点击父级或者父级的checkbox,展开所有子集
<el-tree :data="authData" show-checkbox :check-strictly="true" :check-on-clic ...