笔记299 获取传入存储过程里的参数包括参数值 --2013-6-18
笔记299 获取传入存储过程里的参数包括参数值 --2013-6-18
1 --获取传入存储过程里的参数包括参数值 --2013-6-18 2 http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/016071c4-4d1c-4cf2-8650-58ac6258e5dc 3 4 SELECT * FROM sys.[parameters] --获取当前use的数据库里所有存储过程里的传入参数,但是不能获取参数值 5 USE [pratice] 6 GO 7 --------------------------------- 8 9 DROP FUNCTION [dbo].[f_split] 10 GO 11 CREATE FUNCTION f_split 12 ( 13 @SourceSql VARCHAR(8000) , 14 @StrSeprate VARCHAR(10) 15 ) 16 RETURNS @temp TABLE ( ss VARCHAR(100) ) 17 AS 18 BEGIN 19 DECLARE @i INT 20 SET @SourceSql = RTRIM(LTRIM(@SourceSql)) 21 SET @i = CHARINDEX(@StrSeprate, @SourceSql) 22 WHILE @i >= 1 23 BEGIN 24 INSERT @temp 25 VALUES ( LEFT(@SourceSql, @i - 1) ) 26 SET @SourceSql = SUBSTRING(@SourceSql, @i + 1, 27 LEN(@SourceSql) - @i) 28 SET @i = CHARINDEX(@StrSeprate, @SourceSql) 29 END 30 IF @SourceSql <> '\' 31 INSERT @temp 32 VALUES ( @SourceSql ) 33 RETURN 34 END 35 36 37 ------------------------------------ 38 39 CREATE proc up_test (@a varchar(100)) 40 AS 41 DECLARE @s VARCHAR(200) 42 SET @s=' ' 43 DECLARE @num INT 44 DECLARE @increase INT 45 DECLARE @temps VARCHAR(20) 46 CREATE TABLE temptb(id INT IDENTITY(1,1) NOT NULL,para VARCHAR(20)) 47 INSERT INTO temptb(para) SELECT ss FROM [f_split](@a,',') 48 SELECT @num = COUNT(*) 49 FROM temptb 50 SET @increase = 1 51 WHILE @increase < @num +1 52 BEGIN 53 SELECT @temps = para 54 FROM temptb 55 WHERE id = @increase; 56 SET @s = @s +' 参数'+CAST(@increase AS VARCHAR(20))+': '+ @temps+';' 57 SET @increase = @increase + 1 58 END 59 SELECT @s 60 DROP TABLE temptb 61 62 exec up_test '库存,6,2013-6-12'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现