共计 1182 个字符,预计需要花费 3 分钟才能阅读完成。
今天就跟大家聊聊有关 SQL 中如何创建存储过程,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创建存储过程 表名和比较字段可以做参数的存储过程
Create PROCEDURE sp_getTeacherInfo @TblName nvarchar(30), — 表名 @CmpStr nvarchar(30), — 参与比较的值 @TblAtr nvarchar(30) — 参与比较的字段 AS DECLARE @sql varchar(4000) SET @sql = select * from + @TblName + where + @TblAtr + = + @CmpStr EXEC (@sql) 表 tbl_TeacherInfo Exec sp_getTeacherInfo tbl_TeacherInfo , TeaNo , 07417502 // 注意:像这样的调用是错误的 还原成查询语句 select * from tbl_TeacherInfo where TeaNo = 07417502 之所以没报错,是因为参数 07417502 被误认为了 整型,进行了整数的比较 Exec sp_getTeacherInfo tbl_TeacherInfo , Name , 楚留香 // 报错 还原成查询语句 select * from tbl_TeacherInfo where TeaNo = 楚留香 // 显然是错误的 正确的调用方法 Exec sp_getTeacherInfo tbl_TeacherInfo , Name , 楚留香 还原成查询语句 select * from tbl_TeacherInfo where TeaNo = 楚留香 常规存储过程的创建 Create PROCEDURE sp_AddRowToLogin @TeaNo nvarchar(100), — 比较字段 @TeaName nvarchar(100) — 比较字段 AS insert into tbl_UserLogin values(@TeaNo,@TeaName,@TeaNo,0) 除了指定列其他列都返回的存储过程 CREATE PROCEDURE sp_Alter @TblName nvarchar(30) — 表名 AS declare @sql varchar(1000) select @sql= select select @sql=@sql+name+ , from syscolumns where id=object_id(@TblName) and name not in (ID , TeaNo) select @sql=left(@sql,len(@sql)-1) select @sql=@sql+ from + @TblName exec (@sql) // 除了 ID 和 TeaNo 两列不返回,其他都返回
看完上述内容,你们对 SQL 中如何创建存储过程有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。