CREATE PROCEDURE psql @page int = 1, @pagesize int = 1 as select id from person where id > @page*@pagesize GO/* 我也初学,加油加油 */select id from person where (id > 18) 执行结果 = psql 3,6 执行结果这样看来,“存储过程”就像它本身的名字,它就是一个过程,一个把sql语句封装成过程等着你来调用的过程,只不过,他可以传参数,可以有返回值,这样的话,似乎更像函数,那为什么不叫存储函数呢?同时求解:如果把上面存储过程中改成 select top 10 id from …… 那么这里的10想用变量@pagesize时要怎么写呢?
select top (@pagesize) id from ...
select top (@pagesize) id from ...引用 6 楼 zz_asp 的回复: SQL codeCREATE PROCEDURE psql @page int = 1, @pagesize int = 1 as select id from person where id > @page*@pagesize GO /* 我也初学,加油加油 */select id from person where (id > 1……
使用 MicrosoftSQL Server 创建应用程序时,Transact-SQL 编程语言是应用程序和 MicrosoftSQL Server 数据库之间的主要编程接口。使用 Transact-SQL 程序时,可用两种方法存储和执行程序。 可以将程序存储在本地,并创建向 SQL Server 发送命令并处理结果的应用程序。 也可以将程序作为存储过程存储在 SQL Server 中,并创建执行存储过程并处理结果的应用程序。 參照 http://technet.microsoft.com/zh-cn/library/ms190782.aspx
CREATE PROCEDURE psql
@page int = 1,
@pagesize int = 1
as
select id from person where id > @page*@pagesize
GO/* 我也初学,加油加油 */select id from person where (id > 18) 执行结果 = psql 3,6 执行结果这样看来,“存储过程”就像它本身的名字,它就是一个过程,一个把sql语句封装成过程等着你来调用的过程,只不过,他可以传参数,可以有返回值,这样的话,似乎更像函数,那为什么不叫存储函数呢?同时求解:如果把上面存储过程中改成
select top 10 id from ……
那么这里的10想用变量@pagesize时要怎么写呢?
select top (@pagesize) id from ...
SQL codeCREATE PROCEDURE psql
@page int = 1,
@pagesize int = 1
as
select id from person where id > @page*@pagesize
GO
/* 我也初学,加油加油 */select id from person where (id > 1……
与其他编程语言不同的地方,SQL存储过程不仅可以有输入输出变量,由于在过程里可以执行查询语句,因此,它还可以直接返回记录集.因此,存储过程与调用程序的接口有两种数据交换,一是形参与实参的结合(注意,它只是按值调用,没有按地址调用),另一种是与数据库交换数据,取出或更新数据库表中的数据.
參照
http://technet.microsoft.com/zh-cn/library/ms190782.aspx