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'
我新学习存储过程,请您详细些好吗.谢谢您了.
语句是在数据库
JFHZP 中
修改了名为dbo.JF_exec_sql的存储过程(dbo为表的所有者),设置了一个参数 @sql 参数数据类型(长度):nvarchar(1000)
存储过程的内容是执行 @sql 这个参数,返回执行结果。
@sql 是这个存储过程的参数
exec(@sql) 是执行@sql这个参数中的SQL语句
GO ALTER procedure [dbo].[JF_exec_sql]
其实这个存储过程就是为了查询符合某些where条件的语句,但为什么要用alter修改存储过程呢?
这个存储过程最后返回的是满足select *from table1 where name='lhard'的表吗?
这个过程翻译成汉语是:
你传给我一句最大长度为1000字符的SQL语句,我给你执行。
你可以用 exec JF_exec_sql 'select *from Table1 where name='lhard''
执行一下看看效果
这个是个修改存储过程的的sql语句,
修改过后,这个存储过程的就是传入sql语句,然后执行它。