好房网

网站首页问答百科 >正文

怎么写存储过程介绍(怎么写存储过程详细情况如何)

2022-08-15 14:10:20 问答百科来源:
导读想必现在有很多小伙伴对于怎么写存储过程方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于怎么写存储过程方面的知识分...

想必现在有很多小伙伴对于怎么写存储过程方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于怎么写存储过程方面的知识分享给大家,希望大家会喜欢哦。

1、一、整体格式。存储过程的格式如下:

2、CREATE PROCEDURE [creator.]"proc_name"( )

3、

4、芝士回答,版或权必究,未头经许可,不得别织转今载

5、BEGIN

6、;

7、END

8、其中creator是用户名,比如dba;proc_name是你自己起的过程名;后面的参数可有可无,视自己情况定,如果有格式如(a integer,b char(50));再下面的RESULT应该是返回值,这个没用过不知道怎么回事!

9、二、内容。把这些都写好了可能是这样:

10、CREATE PROCEDURE dba.myProcedure ( @a integer,@b char(50))

11、BEGIN

12、;

13、END

14、但是这样子还是不能编译的,因为整个过程体是空的,而我学习的结果是过程中至少要有一个SQL语句。所以要这样写才不会出错:

15、三电合由只设将色保百风,离织众值县。

16、CREATE PROCEDURE dba.myProcedure ( a integer,b char(50))

17、们正结任思交共众,素号。

18、BEGIN

19、SELECT * FROM MyTable

20、END

21、三、语法。

22、1、分号。在写的过程中最郁闷的问题是分号!最后发现好像是这样:

23、每一句都要加分号,不管是SQl语句还是其它的什么语句,但是最后保存后最后一句的分号会被自动删除!(我用的是Sybase的Sybase Central)。

24、2、定义变量。

25、格式为Declare @varName integer;(注意有分号!)“@”号好像可有可无!

26、3、SELECT语句。

27、格式为:

28、SELECT Count(*) INTO @varName FROM MyTable WHERE id = @a;

29、4、if语句。

30、格式为:

31、if(varName > 0) then

32、return

33、end if;(注意还有分号!)

34、5、循环语句。

35、格式为:

36、loop

37、……

38、end loop;(注意分号!)

39、6、设置变量值。

40、格式为:

41、set @varName = 10;

42、set @varName = @varName2;

43、7、字符串。

44、Declare myString char(50);

45、set @myString = 'Hello!';

46、要用单引号!

47、8、定义游标。

48、格式为:

49、declare MyCursor dynamic scroll cursor for

50、select …… from …… where ……;

51、9、打开、使用和关闭游标。

52、Open MyCursor;

53、fetch next MyCursor into ……;

54、Close MyCursor;

55、10、调用方法。

56、string ls_name="test"

57、DECLARE ProcName1 PROCEDURE FOR ProcName2

58、@wg_wellid=2,@wg_wgid=1,@wg_stringsid=1,@bha_wellid=2,@bha_name=:ls_name;

59、execute ProcName1 ;

60、close ProcName1 ;

61、其中ProcName1 是调用程序中自定义的过程名,ProcName2是数据库中存储过程的名字,下面的传入的参数。

本文到此结束,希望对大家有所帮助。


版权说明:本文由用户上传,如有侵权请联系删除!


标签:

最新文章:

热点推荐
热评文章
随机文章