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
最新文章
- JVM学习(4)——全面总结Java的GC算法和回收机制
- jquery检测浏览器类型
- Dijkstra(变形) POJ 1797 Heavy Transportation
- jQuery入门级part.2
- ZooKeeper在centos6.4的集群搭建
- Hibernate O/R Mapping模拟
- js刷新页面方法
- 设置SVN忽略文件和文件夹(文件夹)
- FTP、TFTP
- codeforce vk cup2017
- 理解Java中的抽象
- aspnetcore.webapi实践k8s健康探测机制 - kubernetes
- Grunt自动化构建环境搭建
- nginx默认80端口被System占用,造成nginx启动报错的解决方案
- [OpenCV]直线拟合
- html web服务器
- 暑期OI大电影——不看后悔整个OI生涯!
- Linux中apt与apt-get命令的区别与解释
- hehe,网易邮箱已经流氓到这个地步了
- 解析html文档的java库及范例
热门文章
- allure标题样式错乱处理
- 解决移动H5页面的刷组造成件传值数据丢失问题
- hive知识点总结
- 简单的关键词查找实验(基于C语言)
- 一种改进后的turf.idw算法
- 「SOL」打扫笛卡尔cartesian (模拟赛)
- css 卡片hover效果
- IaaS--云上虚拟网络(何恺铎《深入浅出云计算》笔记整理)
- CentOS8安装pycharm报错【Can&#39;t connect to X11 window server using &#39;:0&#39; as the value of the DISPLAY variable. 】
- ansible笔记第四章(jinj2的使用与role的使用)