當前位置:首頁 » 存儲配置 » mysql觸發器存儲過程

mysql觸發器存儲過程

發布時間: 2022-03-30 15:02:00

『壹』 mysql 觸發器 或存儲過程

這個問題的描述太簡單了,意思不太明白啊。。a表插入後,b,c表有什麼改變啊?a表插入對b,c表沒有影響嗎??

『貳』 Mysql觸發器或存儲過程中能否調用dll

使用非SQL格式dll,也就是平時所寫的,如果打死也不明白就用他就可以。
dll需要事先先注冊,
注冊是:regsvr32 名字.dll
卸載是:regsvr32 /u 名字.dll

[vb] view plain
CREATE TRIGGER [名稱] ON [表名]
AFTER INSERT, UPDATE, DELETE
AS
DECLARE @hr int
DECLARE @obj int
DECLARE @out varchar(200)
exec @hr = sp_oacreate '[名稱空間|工程名].[類名]', @obj out
IF @hr = 0
BEGIN
exec @hr = sp_oamethod @obj,'[函數名]',@out output,'[參數1]','[參數2]',...'[參數N]'
if @hr = 0
BEGIN
print @out
END
END

使用SQL格式的DLL
以下這代碼要放到master資料庫執行

[c-sharp] view plain
CREATE PORC [名字] AS
BEGIN
DECLARE @out varchar(200)
EXEC exec sp_addextendedproc '[函數名]', '[名稱空間|工程名
.dll' --添加dll進來
EXEC @out = [函數名] [參數1] [參數2] ... [參數N] --注意:函數名前不能用@函數名和參數之間,參數和參數之間,不能用,,我用過,報錯了...
EXEC exec sp_sp_dropextendedproc'[函數名]' --這里就是卸載了

直接執行外部程序,例如exe,黑客愛好這代碼
上面的代碼黑客也愛好,為什麼?我才不會告訴你他喜歡用sp_addextendproc來載入xp_cmdshell

[c-sharp] view plain
--以下代碼不是順序執行,只是說明
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; -- 開啟xp_cmdshell,幾乎不需要執行,多數人不會主要到
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE; -- 這自然是關閉嘍,要做啥非法事的話,就不要執行這句。
EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int --這句是如果不能執行xp_cmdshell時候,例如報127錯誤時修復使用
sp_addextendedproc 'xp_cmdshell','xpsql70.dll' -- 同上
--以下是使用xp_comshell
--有返回值
DECLARE @out int
EXEC @out = xp_cmdshell '[文件名]' '[參數1]' '[參數2]' ... '[參數N]'
無返回值
EXEC xp_comshenll'[文件名]' '[參數1]' '[參數2]' ... '[參數N]',no_output

『叄』 如何用mysql觸發器調用存儲過程

這個性能問題很多都是相對的,譬如如果你不用存儲過程,那應用伺服器和資料庫伺服器的交互就會增多,這樣也導致性能降低。一般而言,存儲過程的使用降低應用的負載,更多的要考慮使用的合理性。譬如觸發器過多也會影響你操作表的速度,因而你應該根據系統自身情況去分析設計

『肆』 如何測試mysql觸發器和存儲過程

1.
為了測試觸發器和存儲過程,首先建立一張簡單的表:
復制代碼
代碼如下:
CREATE
TABLE
`airuser`
(
`userId`
int(11)
NOT
NULL
AUTO_INCREMENT,
`username`
varchar(128)
NOT
NULL,
PRIMARY
KEY
(`userId`)
)ENGINE=InnoDB
DEFAULT
CHARSET=utf8
2.
為該表的插入操作,創建一張記錄表:
復制代碼
代碼如下:
CREATE
TABLE
`airuser_record`
(
`id`
int(11)
NOT
NULL
AUTO_INCREMENT,
`username`
varchar(45)
DEFAULT
NULL,
`edittime`
timestamp
NULL
DEFAULT
NULL,
`edittype`
varchar(45)
DEFAULT
NULL,
PRIMARY
KEY
(`id`)
)
ENGINE=InnoDB
DEFAULT
CHARSET=utf8
3.
編寫一個插入操作的觸發器:
復制代碼
代碼如下:
DROP
TRIGGER
insert_trigger;
delimiter
|
CREATE
TRIGGER
insert_trigger
BEFORE
INSERT
ON
airuser
FOR
EACH
ROW
BEGIN
INSERT
INTO
airuser_record
SET
username
=
NEW.username,
edittime=now(),
edittype='insert';
END;
SHOW
TRIGGERS;
4.
為批量插入編寫存儲過程:
復制代碼
代碼如下:
DROP
procere
createUsers;
delimiter
|
create
procere
createUsers(IN
count
int)
begin
declare
i
int;
set
i=0;
while
i<count
do
insert
into
airuser
set
username=concat('user_',i);
set
i=i+1;
end
while;
end;
show
procere
status;
5.
調用存儲過程,驗證存儲過程是工作的,並驗證在插入記錄前,觸發器能正確被觸發:
復制代碼
代碼如下:
call
createUsers(10);
6.
最後通過插入記錄表再次驗證:
復制代碼
代碼如下:
SELECT
*
FROM
mars_jpa.airuser_record;

『伍』 mysql!觸發器里如何調用存儲過程。

call showChildLst(new.pn,new.pa)

『陸』 求大神 mysql 中利用觸發器調用存儲過程 不能執行動態Sql

如果你用存儲過程的代碼替換掉呢。

『柒』 如何加密MYSQL觸發器和存儲過程

1 人員管理好。
2 改換成就寫在應用裡面

『捌』 Mysql 觸發器 和 存儲過程

我就給你描述一下簡單易懂的吧,第一個存儲過程,例子:輸入一個 名字,返回改名字的人的 居住地址!代碼:create procere 過程名字( name varcha2) is
v varchar2(100);
begin
select s_address into v from 表 where s_name= name;
dbms_output.put_line('該名字居住的地址是:|| v');
end; 這個存儲過程的。比較簡單。的例子。
觸發器,指的是:可以限制你往表裡添加數據,比如,我建立觸發器,比如不讓你在當天的12:00:00之,對你的這個表進行操作。具體代碼:
create or replace trigger 觸發器名字
before update or insert or delete
on 你的表
declare v_date date;
begin
select sysdate into v_date from al;
if(v_date<to_date('2012-11-16 12:00:00','yyyy-mm-dd hh24:mi:ss'))
then dbms_output.put_line('這個時間不可以更改數據');
end if;
end;
我都親自測試的。呵呵 ,這樣如果你在12之前對表進行,曾刪改,就會報出『這個時間不可以改數據的』字樣。我的例子通熟易懂,希望給點分。呵呵,不會的咱倆可以研究。

『玖』 mysql5,觸發器里可以調用存儲過程嗎

不能吧
create trigger del_stu_for_del_tb_pergi
before delete on tb_perdorm
for each row
begin
declare stucodn varchar(15);
set stucodn = old.stu_codename;
call in_out_Per(1,stucodn,'getout');
end $$
Dynamic SQL is not allowed in stored function or trigger
動態SQL是不允許在觸發器中
貌似是這樣 英語比較搓!!!

熱點內容
小孩什麼時候學編程比較好 發布:2025-02-01 12:03:10 瀏覽:960
c語言的認識 發布:2025-02-01 11:58:03 瀏覽:520
svn連接伺服器地址 發布:2025-02-01 11:51:31 瀏覽:416
對源程序為什麼要編譯 發布:2025-02-01 11:47:46 瀏覽:218
sql表添加記錄 發布:2025-02-01 11:22:08 瀏覽:864
word編輯加密 發布:2025-02-01 11:18:53 瀏覽:571
php變數文本 發布:2025-02-01 11:10:46 瀏覽:426
音悅台上傳mv 發布:2025-02-01 11:05:02 瀏覽:516
微信如何設置訪問限制 發布:2025-02-01 10:43:06 瀏覽:335
b站緩存視頻下架還有嗎 發布:2025-02-01 10:37:52 瀏覽:940