當前位置:首頁 » 存儲配置 » 存儲過程調用c代碼

存儲過程調用c代碼

發布時間: 2025-03-19 08:42:19

sql server 創建存儲過程,要求該存儲過程能夠實現對輸入的兩個數相加,並將結果輸出。。

一、創建

create proc p_sum

(@a int,

@b int,

@c int output)

as

set @c=@a+@b

--執行

declare @c int

exec p_sum 11 ,2 ,@c output

print @c

二友猜、create proc p_multiply(@a int=0,@b int=0,@c int output)

as

begin

set @c=@a*@b

end

--調用

--declare @a int,@b int,@c int

--select @a=3,@b=2

--exec p_multiply @a,@b,@c output

--select @c

(1)存儲過程調用c代碼擴展閱讀:

例子:

CREATE PROCEDURE order_tot_amt

@o_id int,

@p_tot int output

AS

SELECT @p_tot = sum(Unitprice*Quantity)

FROM orderdetails

WHERE orderid=@o_id

GO

例子說明:該例子是建立指沒一個簡單的存儲過程order_tot_amt,這個存儲過程根據用戶輸入的訂單ID號碼(@o_id),由訂單明細表 (orderdetails)中計算該訂單銷售總額[單價(Unitprice)*數量(Quantity)],這一金額通過@p_tot這一參數輸出給調用這一存好逗型儲過程的程序。

java如何實現對存儲過程的調用

import java.sql.*;
public class ProcereTest
{
public static void main(String args[]) throws Exception
{
//載入驅動
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
//獲得連接
Connection conn=DriverManager.getConnection("jdbc:odbc:mydata","sa","");

//創建存儲過程的對象
CallableStatement c=conn.prepareCall("{call getsum(?,?)}");

//給存儲過程的第一個參數設置值
c.setInt(1,100);

//注冊存儲過程的第二個參數
c.registerOutParameter(2,java.sql.Types.INTEGER);

//執行存儲過程
c.execute();

//得到存儲過程的輸出參數值
System.out.println (c.getInt(2));
conn.close();

}
}

㈢ c程序該怎麼樣調用oracle存儲過程並獲取存儲過程中的輸出參數的值

我以前這樣用pro*c 這樣玩的,僅供參考
EXEC SQL EXECUTE
DECLARE
lsid varchar2(60);
lss_this_error_code number;
BEGIN
proctest(:ls_name,lsid); --ls_name 輸入參數 lss_id 輸出
:chId := lsid;-- lsid 輸出返回給C變數chId
END;
END-EXEC;

㈣ MS sql如何使用存儲過程

一、存儲過程的概念
T-SQl和C語言一樣 ,是一門結構化的語言。
什麼是存儲過程?
存儲過程是SQL查詢語句與控制流程語句的預編譯集合,並以特定的名稱保存在資料庫中。存儲過程也是資料庫對象
分類:
系統存儲過程: 以sp_或xp_打頭
用戶自定義 :以proc_打頭
存儲過程的優點:
執行速度快 效率高
模塊式編程
減少網路流量
提高安全性
二、系統存儲過程
SQl server 的系統存儲過程保存在master資料庫中,且所有命名的系統存儲過程命名以「Sp_」開頭。在master資料庫中,
系統存儲過程數量如下:
代碼如下 復制代碼
select count([name])as '系統存儲數量' from sysobjects
where [name] like 'sp_%'

EXECUTE 用來表示調用存儲過程,也可以縮寫為EXEC,
調用存儲的語法如下:
EXECUTE 『存儲過程名』 『參數』 ---如果沒有參數則省略參數
常用的系統存儲過程
EXEC sp_databases 列出當前系統中的資料庫
EXEC sp_renamedb 'Northwind','Northwind1' 修改資料庫的名稱(單用戶訪問)
USE stuDB GO EXEC sp_tables 返回某個表列的信息
EXEC sp_columns 查看指定列的信息
EXEC sp_help 查看某個表的所有信息
EXEC sp_helpconstraint '表名' 查看某個表的約束
EXEC sp_helpdb '資料庫名' 或 EXEC sp_helpdb 查看指定資料庫或所有資料庫信息
EXEC sp_helptext '對象名稱' 顯示資料庫對象(存儲過程、觸發器、試圖)的定義文本
EXEC sp_helpindex '表名' 查看指定表的索引信息
EXEC sp_renamedb '原名稱','新名稱' 更改資料庫名稱
EXEC sp_stored_proceres 列出當前環境可用的所有存儲過程

除了系統存儲過程,SQL Server 還提供以Xp_開頭的擴展存儲過程,如可以調用DOS命名的,XP_cmdshell 存儲過程
用法如下:

代碼如下 復制代碼

EXEC Xp_cmdshell DOS 命名 [NO_OUTPUT]


NO_OUTPUT 為可選參數,表示是否輸入存儲過程返回的信息
三、用戶自定義存儲過程
1、語法
代碼如下 復制代碼
create procere 存儲過程名
@參數1名 數據類型 [=默認值] [參數類型(輸入/輸出)]
... ...
@參數n名 數據類型 [=默認值] [參數類型(輸入/輸出)]
as
begin
sql語句
end;
go

參數類型分為輸入參數和輸出參數,默認為輸入參數,使用OUTPUT表示輸出參數。創建存儲過程最好以proc開頭

2、創建不帶參數的存儲過程

代碼如下 復制代碼
--判斷存儲過程是否存在
if object_id('proc_student','procere') is not null
drop procere proc_student
go
create procere proc_student
as
begin
select pcid as '電腦編號',
case pcuse
when 0 then '空閑'
when 1 then '忙碌'
end as '使用狀態' from pc
end;
--調用存儲過程
execute proc_student select * from pc
go

3、創建帶輸入參數的存儲過程
語法:
代碼如下 復制代碼
create procere 存儲過程名
@參數1名 數據類型 [=默認值]
....
@參數2名 數據類型[=默認值]
as
SQl與語句
...
go

--例如
--創建帶輸入參數的存儲過程
代碼如下 復制代碼
if object_id('proc_stu','procere') is not null
drop procere proc_stu
go
create procere proc_stu
@pcuse int
as
begin
select pcid as '電腦編號',
case pcuse
when 0 then '空閑'
when 1 then '忙碌'
end as '使用狀態' from pc where pcuse=@pcuse end;
--調用存儲過程
execute proc_stu @pcuse=1

4、創建帶輸出參數的存儲過程
代碼如下 復制代碼
--創建帶輸出參數的存儲過程
if OBJECT_ID('proc_s','procere') is not null
drop procere proc_s
go
create procere proc_s
@pcid int,
@pcus int output
as
begin
select @pcus=pcuse from pc where pcid=@pcid end;
--調用存儲過程
declare @pcus int execute proc_s 5,@pcus output


四、處理錯誤信息
當存儲過程的語句十分復雜時,可以在存儲過程中加入錯誤語言。SQL Server中可以使用RAISERROR 返回用戶自定義的錯誤信息。
RAISERROR 語法如下:

RAISERROR (自定義的錯誤信息,錯誤的嚴重級別,錯誤狀態)

自定義錯誤信息:表示輸出信息:表示輸出的錯誤提示文本
錯誤的嚴重級別:表示用戶自定義錯誤的嚴重性級別。(0-18極)
錯誤的狀態:表示自定義錯誤的狀態,值的范圍在1-127

㈤ MySQL中使用EXEC命令的方法詳解mysql中exec

MySQL是一種流行的開源資料庫管理系統,它支持多種編程語言,包括C、Python和Java等。MySQL作為一種強大的資料庫管理系統,為開發人員提供了多種命令來管理和查詢數據。其中EXEC命令是,一種在MySQL中執行腳本的重要命令。在本篇文章中,我們將詳細講解MySQL中使用EXEC命令的方法。
1. EXEC命令簡介
EXEC是MySQL中的一個命令,可以將腳本文件讀入MySQL客戶端並運行。在MySQL中,可以使用該命令來執行存儲過程、觸發器、函數和視圖等各種類型的對象。EXEC命令的語法如下:
EXECUTE sql_statement;
其中sql_statement是存儲過程、觸發器、函數或視圖的SQL語句。
2. EXEC命令的優點
使用EXEC命令有許多好處,如下述:
(1)執行存儲對象:可以執行存儲對象,包括存儲過程、觸發器、函數和視圖等。
(2)優化查詢:可以優化查詢,減少查詢時間。
(3)使用腳本文件:可以使用腳本文件來進行批處理操作,提高數據處理效率。
3. EXEC命令的應用
EXEC命令具有廣泛的應用,可以執行各種類型的SQL查詢。下面我們將具體介紹如何使用EXEC命令來執行存儲過程。
我們需要創建一個名為”AddEmployee”的存儲過程,該存儲過程將接收三個參數:EmployeeName,EmployeeSalary和EmployeeAge,然後將這些參數插入到一個名為”employee”的表中。
示例代碼如下:
CREATE PROCEDURE AddEmployee (
EmployeeName VARCHAR(255),
EmployeeSalary INT,
EmployeeAge INT
)
BEGIN
INSERT INTO employee (name, salary, age) VALUES (EmployeeName, EmployeeSalary, EmployeeAge);
END;
我們可以在MySQL客戶端中調用該存儲過程,如下述:
EXECUTE AddEmployee(‘John’, 50000, 25);
該語句將在employee表中插入一條數據,其中包括”John”、50000和25,表示員工的姓名、薪資和年齡。
4. 總結
MySQL中的EXEC命令是執行存儲過程、觸發器、函數和視圖等對象的重要工具。使用該命令可以提高查詢效率,優化數據處理操作。在本文中,我們對MySQL中使用EXEC命令的方法進行了詳細的講解,希望能對開發人員有所幫助。

㈥ 用C編寫資料庫怎麼寫

一個萬能的DBHelper就可以解決都事情,直接對資料庫中的存儲過程進行調用,只需要傳入參數就可以和你調用的存儲過程就可以。有關萬能DBHelper的參考代碼如下:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace Clock
{
public static class DBHelper
{
private static SqlConnection connection;//這里的SqlConnection 自己寫//對數據進行查詢時候調用的
public static SqlConnection Connection
{
get
{
string connectionString = "Data Source=PC-Ahsun;Initial Catalog=Clock; uid=sa;pwd=striveahsun";
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}//對數據進行增刪改時候調用的
public static int ExecuteCommand(string sql)
{
SqlCommand cmd = new SqlCommand(sql,connection);
int resualt = cmd.ExecuteNonQuery();
return resualt;
}
}
}

熱點內容
演算法第五版 發布:2025-03-20 05:17:57 瀏覽:728
湖南台訪問 發布:2025-03-20 05:10:32 瀏覽:37
腳本和秒搶 發布:2025-03-20 05:06:29 瀏覽:590
b35鎖如何設置密碼 發布:2025-03-20 05:06:27 瀏覽:903
淘寶如何租雲伺服器 發布:2025-03-20 05:05:12 瀏覽:210
編程忌諱 發布:2025-03-20 04:58:35 瀏覽:425
國家知識產權專利資料庫 發布:2025-03-20 04:54:29 瀏覽:414
win7怎麼給文件夾設密碼 發布:2025-03-20 04:52:38 瀏覽:723
安卓手機電影怎麼投屏到ipad上 發布:2025-03-20 04:27:23 瀏覽:677
蘋果安卓基於什麼開發 發布:2025-03-20 04:20:52 瀏覽:520