呼叫儲存過程

2022-03-25 00:28:34 字數 2058 閱讀 1579

呵呵,測試了一下c#呼叫儲存過程:  

create procedure sp_accountrole_create

@categoryid int,

@rolename nvarchar(10),

@description nvarchar(50),

@roleid int output

asdeclare @count int

-- 查詢是否有相同名稱的記錄

select @count = count(roleid) from account_role where

rolename = @rolename

if @count = 0

insert into account_role

(categoryid, rolename, description) values

(@categoryid, @rolename, @description)

set @roleid = @@identity

return 1

go

執行儲存過程的c#過程:

sqlconnection dbconnection = new sqlconnection(mconnectionstring);

//用sqlcommand的建構函式,指定sql儲存過程名和連線字;

sqlcommand command = new sqlcommand( "sp_accountrole_create", dbconnection );

dbconnection.open(connectstring);

// 下面的語句設定sqlcommand的屬性為儲存過程

command.commandtype = commandtype.storedprocedure;

command.parameters.add("@categoryid", sqldbtype.int, 4);

command.parameters.add("@rolename", sqldbtype.nvarchar, 10);

command.parameters.add("@description", sqldbtype.nvarchar, 50);

command.parameters.add("@roleid", sqldbtype.int, 4);

// 返回值

command.parameters.add("returnvalue",

sqldbtype.int,

4, // size

parameterdirection.returnvalue,

false, // is nullable

0, // byte precision

0, // byte scale

string.empty,

datarowversion.default,

null );

command.parameters["@categoryid"].value = permission.categoryid;

command.parameters["@rolename"].value = permission.permissionname;

command.parameters["@description"].value = permission.description;

// 可以返回新的id值

command.parameters["@roleid"].direction = parameterdirection.output;

//下面的語句開始執行儲存過程的查詢操作;

int rowsaffected = command.executenonquery();

int result = command.parameters["returnvalue"].value;

int newid = command.parameters["@roleid"].value;

得到三個值,分別是行影響值,儲存過程返回值,新的id值

Oracle儲存過程呼叫儲存過程

oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...

呼叫儲存過程

用乙個命令物件呼叫儲存過程,就是定義儲存過程的名稱,給過程的每個引數新增引數定義,然後執行命令。1.呼叫沒有返回值的儲存過程 呼叫儲存過程的最簡單示例是不給呼叫者返回任何值。下面定義了兩個這樣的儲存過程,乙個用於更新現有的region記錄,另乙個用於刪除指定的region記錄。1 記錄的更新 cre...

儲存過程呼叫

size medium color blue 於 size small 儲存過程 包含三部分 宣告,執行部分,異常。可以有無引數程式和帶引數儲存過程。無參程式語法 1 create or replace procedure noparpro 2 as 3 begin 4 5 exception 6 ...