如何在linux下创建存储过程,Linux_SQL创建的几种存储过程,创建存储过程 表名和比较字段 - phpStudy...

SQL创建的几种存储过程

创建存储过程

表名和比较字段可以做参数的存储过程

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两列不返回,其他都返回相关阅读:

CSS实例:让页脚保持在未满屏页面的底部

javascript 表单规则集合对象

CSS解决文字环绕图片问题

打开与操作Oracle游标

jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名

dl,dt,dd制作的CSS垂直菜单

js 调整select 位置的函数

jQuery与ExtJS之选择实例分析

DBA工作随想:流程和测试的重要性

jquery(live)中File input的change方法只起一次作用的解决办法

JavaScript constructor和instanceof,JSOO中的一对欢喜冤家

CSS教程:检验CSS书写是否标准合理

纯CSS 级联菜单实现代码

开发跨浏览器javascript常见注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值