[英]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.