他のプログラミング言語を使用したことがある場合は、より簡単に理解できるでしょう。ストアド プロシージャは次のとおりです。メソッドと同じように。
これはメソッドであることが判明したため、同様のメソッド名、メソッドによって渡され結果を返す変数があり、ストアド プロシージャにはストアド プロシージャ名、ストアド プロシージャ パラメータ、および戻り値が含まれます。 。
ストアド プロシージャの利点:
ストアド プロシージャは、システム ストアド プロシージャ、拡張ストアド プロシージャ、およびユーザー定義ストアド プロシージャに分類できます。
まず、システム ストアド プロシージャを見てみましょう。システム ストアド プロシージャはシステムによって定義され、主に MASTER データベースに保存されます。名前は「SP」または「XP」で始まります。これらのシステム ストアド プロシージャは MASTER データベース内にありますが、他のデータベース内のシステム ストアド プロシージャを呼び出すこともできます。新しいデータベースの作成時に現在のデータベースに自動的に作成されるシステム ストアド プロシージャがいくつかあります。
一般的に使用されるシステム ストアド プロシージャは次のとおりです:
exec sp_databases; --View databaseストアド プロシージャを作成するための構文は次のとおりです:
CREATE PROC[EDURE] 存储过程名 @参数1 [数据类型]=[默认值] [OUTPUT] @参数2 [数据类型]=[默认值] [OUTPUT] AS SQL语句 EXEC 过程名[参数]
ストアド プロシージャ インスタンスを使用します:
create procedure proc_select_officeinfo--(存储过程名)as select Id,Name from Office_Info--(sql语句) exec proc_select_officeinfo--(调用存储过程)
create procedure procedure_proc_GetoffinfoById ---- Name dbo.Office_Info Id=@Id----(存储过程名称之后,空格加上参数,多个参数中间以逗号分隔) 注:参数赋值是,第一个参数可以不写参数名称,后面传入参数,需要明确传入的是哪个参数名称
select で追加する必要があります。 @Name=Name from dbo.Office_Info where Id=@Id --(SQL ステートメント)
end
declare @houseName varchar(20) --変数を宣言し、ストアド プロシージャによって渡された値を取得します
exec proc_office_info- -(ストアドプロシージャ名)
4,@houseName Output--(パラメータで出力を追加する必要があるとのこと。ここで@variable = OUTPUTを使用するとエラーが報告されるので、書き込み方法を変更)
select @houseName-- (表示値)
4.戻り値付き
create procedure proc_office_info--(存储过程名) @Id int--(参数名 参数类型)as beginif(select Name from dbo.Office_Info where Id=@Id)=null --(sql语句) beginreturn -1endelsebeginreturn 1end end declare @house varchar(20) --声明一个变量,获取存储过程传出来的值 exec @house=proc_office_info 2 --(调用存储过程,用变量接收返回值)--注:带返回值的存储过程只能为int类型的返回值 print @houseSQL に関連する技術的な記事については、
以上がデータベース ストアド プロシージャの簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。