【发布时间】:2014-05-09 01:08:03
【问题描述】:
基本上,如果 SystemFeedbackidParam 不为空,我将传递我的参数 SystemFeedbackidParam,做一件事,如果是,则做另一件事。我可以在 SQL 中执行此操作,但执行此操作的方法是 mysql 让我望而却步。
谢谢!
创建过程`_Insert_FeedBack`(
反馈类型参数 varchar(20),
反馈SubjectParam varchar(200),
FeedbackTextParam 文本,
反馈HTMLParam 长文本,
SubmittedByParam varchar(20),
SubmittedDateParam 日期时间,
SystemFeedbackidParam int)
开始
IF (SystemFeedbackidParam 不为空)
然后
--/*将子记录插入tblfeedbackitems */
插入到 tblfeedbackitems(SystemFeedbackId,
反馈类型,
反馈文本,
反馈HTML,
由...所提交,
提交日期)
值(系统反馈idParm,
反馈类型参数
,
反馈文本参数
,
反馈HTML参数
,
提交者参数
,
提交日期参数
);
别的
--/*将父记录插入tblFeedback */
插入到 tblfeedback(
反馈类型,
反馈主题,
反馈状态)
价值观(
反馈类型参数,
反馈主题参数,
'打开');
--/*将子记录插入tblFeedback */
插入到 tblfeedbackitems(SystemFeedbackId,
反馈类型,
反馈文本,
反馈HTML,
由...所提交,
提交日期)
值(LAST_INSERT_ID(),
反馈类型参数
,
反馈文本参数
,
反馈HTML参数
,
提交者参数
,
提交日期参数
);
结束
【问题讨论】:
-
我觉得你
IF没问题。程序前有DELIMITER声明吗? -
@Barmar no - 但我对我的存储过程非常谨慎,因为 mysqldump 对转储非常挑剔
-
您的评论语法不正确。注释要么从
--到行尾,要么在/*和*/之间,你不需要两者。当您使用--前缀时,它后面必须有一个空格。 -
您需要
DELIMITER声明。否则,语句之间的;将终止过程定义。 -
@Barmar 好的,我可以删除它仍然没有回答原始问题的所有内容
标签: mysql