![](/img/trans.png)
[英]how do i get a stored procedure result to use on another stored procedure or query statement
[英]How do to do an if statement in a stored procedure
基本上,如果SystemFeedbackidParam不为null,我将传递我的参数SystemFeedbackidParam
,执行一件事,如果是,则执行另一件事。 我可以在SQL中执行此操作,但是执行此操作的方法是mysql。
谢谢!
CREATE PROCEDURE `_Insert_FeedBack`( FeedbackTypeParam varchar(20), FeedbackSubjectParam varchar(200), FeedbackTextParam text, FeedbackHTMLParam longtext, SubmittedByParam varchar(20), SubmittedDateParam datetime, SystemFeedbackidParam int) BEGIN IF (SystemFeedbackidParam IS NOT NULL) THEN --/*Insert Child Record into tblfeedbackitems */ INSERT INTO tblfeedbackitems(SystemFeedbackId, FeedbackType, FeedbackText, FeedbackHTML, SubmittedBy, SubmittedDate) VALUES (SystemFeedbackidParm, FeedbackTypeParam , FeedbackTextParam , FeedbackHTMLParam , SubmittedByParam , SubmittedDateParam ); ELSE --/*Insert Parent Record into tblFeedback */ INSERT INTO tblfeedback( FeedbackType, FeedbackSubject, FeedbackStatus) VALUES ( FeedbackTypeParam, FeedbackSubjectParam, 'Open'); --/*Insert Child Record into tblFeedback */ INSERT INTO tblfeedbackitems(SystemFeedbackId, FeedbackType, FeedbackText, FeedbackHTML, SubmittedBy, SubmittedDate) VALUES (LAST_INSERT_ID(), FeedbackTypeParam , FeedbackTextParam , FeedbackHTMLParam , SubmittedByParam , SubmittedDateParam ); END
您在这里遇到几个问题:
尝试这个:
Delimiter $$
CREATE PROCEDURE `_Insert_FeedBack`(
FeedbackTypeParam varchar(20),
FeedbackSubjectParam varchar(200),
FeedbackTextParam text,
FeedbackHTMLParam longtext,
SubmittedByParam varchar(20),
SubmittedDateParam datetime,
SystemFeedbackidParam int)
BEGIN
IF (SystemFeedbackidParam IS NOT NULL)
THEN
-- /*Insert Child Record into tblfeedbackitems */
INSERT INTO tblfeedbackitems(SystemFeedbackId,
FeedbackType,
FeedbackText,
FeedbackHTML,
SubmittedBy,
SubmittedDate)
VALUES (SystemFeedbackidParm,
FeedbackTypeParam
,
FeedbackTextParam
,
FeedbackHTMLParam
,
SubmittedByParam
,
SubmittedDateParam
);
ELSE
-- /*Insert Parent Record into tblFeedback */
INSERT INTO tblfeedback(
FeedbackType,
FeedbackSubject,
FeedbackStatus)
VALUES (
FeedbackTypeParam,
FeedbackSubjectParam,
'Open');
-- /*Insert Child Record into tblFeedback */
INSERT INTO tblfeedbackitems(SystemFeedbackId,
FeedbackType,
FeedbackText,
FeedbackHTML,
SubmittedBy,
SubmittedDate)
VALUES (LAST_INSERT_ID(),
FeedbackTypeParam
,
FeedbackTextParam
,
FeedbackHTMLParam
,
SubmittedByParam
,
SubmittedDateParam
);
END IF;
END $$
Delimiter ;
注意:我已修复您的语法错误。 我不知道您的代码是否会真正起作用。
在此站点上查看mysql的文档http://dev.mysql.com/doc/refman/5.0/en/if.html那里您可以找到所有信息,但是基本上是这样的
IF NOT SystemFeedbackidParam THEN
......
END IF;
您也可以使用else语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.