为了账号安全,请及时绑定邮箱和手机立即绑定

请问这个存储过程是什么意思?

请问这个存储过程是什么意思?

喵喵时光机 2018-12-06 19:28:36
USE [JFHZP] GO /****** Object: StoredProcedure [dbo].[JF_exec_sql] Script Date: 07/12/2012 17:44:46 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[JF_exec_sql] @sql nvarchar(1000) as exec(@sql) 其中:@sql为:select *from Table1 where name='lhard' 我新学习存储过程,请您详细些好吗.谢谢您了.
查看完整描述

5 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

语句是在数据库

JFHZP 中
当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行
当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔

修改了名为dbo.JF_exec_sql的存储过程(dbo为表的所有者),设置了一个参数 @sql 参数数据类型(长度):nvarchar(1000)

存储过程的内容是执行 @sql 这个参数,返回执行结果。
查看完整回答
反对 回复 2019-01-07
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

@sql 是这个存储过程的参数

exec(@sql) 是执行@sql这个参数中的SQL语句

查看完整回答
反对 回复 2019-01-07
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

GO
ALTER  procedure [dbo].[JF_exec_sql]
其实这个存储过程就是为了查询符合某些where条件的语句,但为什么要用alter修改存储过程呢?
这个存储过程最后返回的是满足select *from table1 where name='lhard'的表吗?
查看完整回答
反对 回复 2019-01-07
?
holdtom

TA贡献1805条经验 获得超10个赞

这个过程翻译成汉语是:

你传给我一句最大长度为1000字符的SQL语句,我给你执行。

 

你可以用 exec JF_exec_sql 'select *from Table1 where name='lhard''

执行一下看看效果

查看完整回答
反对 回复 2019-01-07
?
森林海

TA贡献2011条经验 获得超2个赞

这个是个修改存储过程的的sql语句,

修改过后,这个存储过程的就是传入sql语句,然后执行它。

查看完整回答
反对 回复 2019-01-07
  • 5 回答
  • 0 关注
  • 753 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信