? ? 声明变量 ? declare @@名称 类型
例如:declare @@MyId int?
if exists(语句)
---
else
---
begin
语句
end
插入语句试返回自增键
;set @@MyId?=@@IDENTITY
--创建存储过程 /*USE [NorthWind ] GO CREATE PROC spEmployee AS SELECT * FROM dbo.Orders;*/ --执行存储过程 /*EXEC spEmployee*/ --删除存储过程 /*DROP PROC spEmployee*/
--创建存储过程并指定参数 /*USE Test1; GO CREATE PROC spEmployeeByName @LastName int AS SELECT * FROM dbo.Persons p JOIN dbo.Orders o ON p.Id_P =o.Id_P WHERE p.Id_P=@LastName;*/ --执行存储过程 EXEC spEmployeeByName 3
--给参数设定初始值 /*USE Test1 GO CREATE PROC aa @lastName varchar(50)= 'g' AS SELECT * FROM Persons WHERE Persons.LastName LIKE @lastName +'%' */ --执行存储过程 /*EXEC aa A*/ --移除存储过程 /*DROP PROC aa*/
--给参数设定初始值 /*USE Test1 GO CREATE PROC dd @lastName varchar(20) = null AS IF @lastName IS NOT NULL SELECT * FROM Persons WHERE LastName LIKE @lastName +'%' ELSE SELECT * FROM Persons*/ --执行存储过程 /*EXEC dd e*/ --移除存储过程 DROP PROC dd
递归
--存储过程
CREATE PROC spTriangular @ValueIn int, @ValueOut int OUTPUT AS DECLARE @InWorking int; DECLARE @OutWorking int; IF @ValueIn!=1 BEGIN SELECT @InWorking = @ValueIn-1; EXEC spTriangular @InWorking,@OutWorking OUTPUT; SELECT @ValueOut = @ValueIn+@OutWorking; END ELSE BEGIN SELECT @ValueOut =1; END RETURN; GO
--调用
DECLARE @WorkingOut int; DECLARE @WorkingIn int; SELECT @WorkingIn = 5; EXEC spTriangular @WorkingIn,@WorkingOut OUTPUT; PRINT CAST(@WorkingIn AS varchar)+'Triangular is ' +CAST(@WorkingOut AS varchar )
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|