boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - In MySQL, 如何在procedure里create trigger?谢谢了?
相关主题
如何让SQL 2005 CLR Trigger返回结果给Stored Procedure用?
SQL Server Trigger on System Base Table or Catalog View
SQL combine two columns from two different tables no shared (转载)
Table Merge (SQL Server)
mysql maximum columns <=1000?
Q on adding new column
请教一个mysql 排序问题。
请教sql server temptable # 和 ##
MS T-SQL 问题
check time table created in IBM SQL Aginity workbench ? (转载)
相关话题的讨论汇总
话题: trigger话题: mysql话题: procedure话题: create话题: table
进入Database版参与讨论
1 (共1页)
n****e
发帖数: 1403
1
可以实现吗?
c*****d
发帖数: 6045
2
mysql不可以,oracle可以
为啥要这么做?
B*****g
发帖数: 34098
3
你的知识该更新了,三天不学习,赶不上刘少奇
http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

【在 c*****d 的大作中提到】
: mysql不可以,oracle可以
: 为啥要这么做?

B*****g
发帖数: 34098
4
现在就去把mysql的endorsement拿掉

【在 c*****d 的大作中提到】
: mysql不可以,oracle可以
: 为啥要这么做?

n****e
发帖数: 1403
5
还是没看出来怎么实现的。

【在 B*****g 的大作中提到】
: 你的知识该更新了,三天不学习,赶不上刘少奇
: http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

n****e
发帖数: 1403
6
MySQL里有几百个tables,现在需要给这些tables都先加一个同名的column to log
changed_timstamp,然后再都生成一个trigger for all 这几百个tables,once any
update on a row,then the column changed_timstamp will be set to now()。
关键是tables 太多,而且database有可能被drop and recreate结构可能有变化,然后
再给每个table加trigger,如果是manually 加而不是用procedure那就是饿梦啊。

【在 c*****d 的大作中提到】
: mysql不可以,oracle可以
: 为啥要这么做?

y****w
发帖数: 3747
7
你们没有人用shell或者perl么?

any

【在 n****e 的大作中提到】
: MySQL里有几百个tables,现在需要给这些tables都先加一个同名的column to log
: changed_timstamp,然后再都生成一个trigger for all 这几百个tables,once any
: update on a row,then the column changed_timstamp will be set to now()。
: 关键是tables 太多,而且database有可能被drop and recreate结构可能有变化,然后
: 再给每个table加trigger,如果是manually 加而不是用procedure那就是饿梦啊。

B*****g
发帖数: 34098
8
http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-stat

any

【在 n****e 的大作中提到】
: MySQL里有几百个tables,现在需要给这些tables都先加一个同名的column to log
: changed_timstamp,然后再都生成一个trigger for all 这几百个tables,once any
: update on a row,then the column changed_timstamp will be set to now()。
: 关键是tables 太多,而且database有可能被drop and recreate结构可能有变化,然后
: 再给每个table加trigger,如果是manually 加而不是用procedure那就是饿梦啊。

n****e
发帖数: 1403
9
偶试过prepared statement了。 trigger滴不行啊!

【在 B*****g 的大作中提到】
: http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-stat
:
: any

n****e
发帖数: 1403
10
shell或者perl? 最后还不的是SQL吗?SQL还没解决呢! anyway, thanks

【在 y****w 的大作中提到】
: 你们没有人用shell或者perl么?
:
: any

相关主题
Table Merge (SQL Server)
mysql maximum columns <=1000?
Q on adding new column
请教一个mysql 排序问题。
进入Database版参与讨论
B*****g
发帖数: 34098
11
那就直接产生script输出到文本文件上,然后再执行

【在 n****e 的大作中提到】
: 偶试过prepared statement了。 trigger滴不行啊!
n****e
发帖数: 1403
12
Beijing还是有经验啊。这个是最后我唯一可实现的方法啊。 谢谢大家了。

【在 B*****g 的大作中提到】
: 那就直接产生script输出到文本文件上,然后再执行
c*****d
发帖数: 6045
13
受不了你了,果然想当然的用prepared sql
你自己试一下

【在 B*****g 的大作中提到】
: http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-stat
:
: any

c*****d
发帖数: 6045
14
yhangw的意思是用sql语句生成创建trigger的语句
和bejing的意思一样

【在 n****e 的大作中提到】
: shell或者perl? 最后还不的是SQL吗?SQL还没解决呢! anyway, thanks
B*****g
发帖数: 34098
15
我现在都用java,lol

【在 c*****d 的大作中提到】
: 受不了你了,果然想当然的用prepared sql
: 你自己试一下

c*****d
发帖数: 6045
16
鄙视你,竟然抛弃高贵的PL/SQL去搞什么java,哈哈

【在 B*****g 的大作中提到】
: 我现在都用java,lol
y*****g
发帖数: 677
17
你可以用Trigger, 看你的insert, update, delete 在这个TABLE 上多不多;
如果transaction rate 不是很高, 表格不算大, 你的TRIGGER 可能运行的好好的;
反之, 我不建议你使用,会把你的数据库整个都变得较慢。
这不,我刚把三个TRIGGER 去掉了。IMPACT 还是蛮大的。
s**********o
发帖数: 14359
18
这个TRIGGER更新的数据太多了,不能用的,可以搞个USER DEFINED FUNCTION,把
TIMESTAMP储存在那,就一个RECORD么,干嘛没事了去TABLE上UPDATE
y****w
发帖数: 3747
19
干嘛不直接给丫一个默认值[ON UPDATE] CURRENT_TIMESTAMP??

any

【在 n****e 的大作中提到】
: MySQL里有几百个tables,现在需要给这些tables都先加一个同名的column to log
: changed_timstamp,然后再都生成一个trigger for all 这几百个tables,once any
: update on a row,then the column changed_timstamp will be set to now()。
: 关键是tables 太多,而且database有可能被drop and recreate结构可能有变化,然后
: 再给每个table加trigger,如果是manually 加而不是用procedure那就是饿梦啊。

B*****g
发帖数: 34098
20
ding,楼上都是打酱油的

【在 y****w 的大作中提到】
: 干嘛不直接给丫一个默认值[ON UPDATE] CURRENT_TIMESTAMP??
:
: any

相关主题
请教sql server temptable # 和 ##
MS T-SQL 问题
check time table created in IBM SQL Aginity workbench ? (转载)
MySQL怎么远程地set Text或Blob column?
进入Database版参与讨论
y****w
发帖数: 3747
21
mysql很好玩,好像timestamp默认就啥都干了。
http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization

【在 B*****g 的大作中提到】
: ding,楼上都是打酱油的
s**********o
发帖数: 14359
22
他不是要UPDATE其他很多TABLE么

【在 y****w 的大作中提到】
: 干嘛不直接给丫一个默认值[ON UPDATE] CURRENT_TIMESTAMP??
:
: any

y****w
发帖数: 3747
23
只alter table lz肯定就不发愁怎么做了。

【在 s**********o 的大作中提到】
: 他不是要UPDATE其他很多TABLE么
s**********o
发帖数: 14359
24
alter table总是不好的吧,哪天就会遇到ERROR,COLUMN ALREADY EXISTS

【在 y****w 的大作中提到】
: 只alter table lz肯定就不发愁怎么做了。
y****w
发帖数: 3747
25
lz要的就是这个新column。他那些triggers就是用来更新这一列的。

【在 s**********o 的大作中提到】
: alter table总是不好的吧,哪天就会遇到ERROR,COLUMN ALREADY EXISTS
s****a
发帖数: 9912
26


【在 y****w 的大作中提到】
: lz要的就是这个新column。他那些triggers就是用来更新这一列的。
y*****g
发帖数: 677
27
ERROR,COLUMN ALREADY EXISTS
报错,skip 不久可以了。反正只加一次。
p*****u
发帖数: 214
28
mysql trigger 要谨慎使用,如果处理数量很大,最好不要用,会降低mysqld 的效率
,如果是为了少量的数据,trigger会起到很好的作用,大量数据处理还是写script吧
。而且对错误处理会更丰富。
1 (共1页)
进入Database版参与讨论
相关主题
check time table created in IBM SQL Aginity workbench ? (转载)
MySQL怎么远程地set Text或Blob column?
扳机问题求助
德州招SQL Developer
求救,升级mysql后table not exist
Sql Server有没有清除过期记录的有效办法?
初级问题
如何用SQL语句判断一个TABLE是否存在?
help about SQL for ACCESS
Help on Sql server huge table performance
相关话题的讨论汇总
话题: trigger话题: mysql话题: procedure话题: create话题: table