sql存储过程基本语法:
一。注释。- 单行注释,从这到本行结束为注释sql 语法,类似c++,c#中//
/* 多行注释,类似c++,c#中/*
二。变量(int, smallint, tinyint, decimal,float,real, money ,smallmoneysql 语法, text ,image, char, varchar。。。
语法:declare
} [n]例如:
declare @id int --申明一个名为@id的变量,类型为int型。
三。在sql server窗口中打印出变量的值。
语法:print 'any ascii text' |local_variable | function | string_expr
四。变量赋值。
例如:-从数据表中取出第一行数据的id,赋值给变量@id,然后打印出来。
declare @id int
set @id = select top(1) categoryid from categories)
print @id
在sql中,我们不能像**那样直接给变量赋值,例如@id = 1,如果要达到这样的功能,可以这样写:
declare @id int
set @id = select 1) -类似 @id=1
select @id=1 --类似 @id=1
print @id
五。变量运算(+,sql 语法,/,
以下必要时候省略变量申明。
set @id = select 1+5) -类似 @id=1+5
set @id=(select 1-@id) -类似 @id=1-@id
六。比较操作符。
>(greater than).
<(less than).
= equals).
<=less than or equal to).
>=greater than or equal to).
!=not equal to).
<>not equal to).
! !>not greater than). 没什么说的。 七。语句块:begin … end 将多条语句作为一个块,类似与c++,c#中的。 例如:begin set @id1 = select 1) set @id2 = select 2) end八。if, if…else… 语法:if boolean_expressionelse 例如:if @id is not null print ‘@id is not null if @id = 1 beginset @id = select 1 + 1) endelse begin set @id=(select 1+2) end上面的例子用到了比较操作符,语句块,和if的语法。 九。执行其他存储过程 exec 例如。exec dbo.[sales by year] @beginning_date=’1/01/90’, ending_date=’1/01/08’ 十。事务。语法: begin tran[saction] [transaction_name | tran_name_variable] 例如。begin tran - 做某些操作,例如insert into … if @@error <>0 beginrollback tran endelse begincommit tran end十一。游标。 我们可以在存储过程中用select语句取出每一行数据进行操作,这就需要用到游标。 语法:declare cursor_name cursor local | global] forward_only | scroll] static | keyset | dynamic | fast_forward] read_only | scroll_locks | optimistic] type_warning] for select_statement for update [of column_name [,n]]] 例如:declare @au_id varchar(11), au_fname varchar(20) –申明变量。 -申明一个游标。 declare authors_cursor cursor for select au_id, au_fname from authors -打开游标。 open authors_cursor -取出值。fetch next from authors_cursor into @au_id, @au_fname -循环取出游标的值。 while @@fetch_status = 0 beginprint @au_id print @au_fname print ‘ fetch next from authors_cursor into @au_id, @au_fname endclose authors_cursor –关闭游标。 deallocate authors_cursor --释放游标。 存储过程 pl sql提供了三种判断语句。1 if then 2 if then else 3 if then else if else 编写一个存储过程输入员工号,如果该员工初始的工资小于1200,则给其增加10 j a程序调用procedure 循环语句 1 loop是pl sql中最简单的循环... 过程的命名,一般是目标表名前加p 比如目标表是table 01,则过程名字是p table 01。一个过程可以有若干个插入语句,插入语句之后,不要忘记commit.我们只拿一个的举例子。过程中用到的表都是提前建好的。一般不在过程中建表。表名也可以。作为输入参数,如果表名作为输入参数,则对该表的操作,... 存储过程。一 概述。存储过程 stored procedure 应用在大型数据库系统中,是sql语句和流程控制语句的集合,经编译后存储在数据库系统中,用户通过指定存储过程的名字并给出参数 如果带有参数的话 来执行,类似高级语言中的函数。在创建时编译一次,以后执行时运行很快。存储过程的种类 1系统存储...Oracle高级编程 存储过程
存储过程格式
存储过程学习总结