为什么在已保存好的 存储过程中还要有:Create Procedure ?

CExplorer 2005-07-17 11:44:02
不明白为什么在存储过程的开头还会有“CREATE PROCEDURE”,按我的理解,存储过程就是保存好的“Transact-SQL 语句”,而“CREATE PROCEDURE”只是为了创建它而必须执行的命令,可为什么在已经保存好的存储过程的开头还会有“CREATE PROCEDURE”这两个词?
既然有这两个词,那么在执行这个存储过程时,就应该是创建了一个新的存储过程。而且是每执行一次,就会创建一个。这样不就全乱了吗?
是不是我的理解有错呢?
...全文
108 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinfeiyang 2005-07-18
  • 打赏
  • 举报
回复
执行的时候 exec存储过程 只是运行存储过程中的每一条语句,并没有重复创建

vivianfdlpw 2005-07-18
  • 打赏
  • 举报
回复
这是“原始”定义,什么叫做“原始”?
MorningTea 2005-07-18
  • 打赏
  • 举报
回复
也不是~
刚开始,你要建立,要CREATE PROCEDURE,然后你看到你的database的stored procedure点击右键,看到的是他的内容而已,并不是说执行的时候就直接执行他的内容,这个只是他的sql script,就如我们建立table,也可以生成他的sql script来看。
CExplorer 2005-07-18
  • 打赏
  • 举报
回复
换句话说,保留这两个词,只是为了提高可读性?
edgethinking 2005-07-17
  • 打赏
  • 举报
回复
哈哈,楼主的这个想法有点创意。

可是微软是什幺公司? 他Show给你看的是一个完整的语句,可是他执行的时候,只是AS以后的语句,这一点,我想微软的工程师还是可以做得到的.

再说了,你把CREATE PROCEDURE隐藏起来了,那幺,你的参数应该定义在什幺地方,如果把参数定义在别的地方,那幺,procedure代码对用户来讲,可读性是不是降低了呢?
点点星灯 2005-07-17
  • 打赏
  • 举报
回复
楼主,你的理解错了.

存储过程在调用的时候,没有重新在建一次,它只是执行了存储过程中的SQL语句.

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧