为什么使用SET设置变量时,在某些情况下可以使用一个语句设置多个变量,而在其他情况下需要发出两个单独的变量。
例如,这样可以正常工作:
SET
@uname := 'John',
@acct_trade := 218.01,
@acct_labor := 518.01,
@acct_cntgy := 818.01;
仅使用一个分号。
然而当它是这样的:
SET @datestart := '2012-01-01',
SET @dateend := '2012-02-29';
它不起作用。我必须让它们各自打电话。
SET @datestart := '2012-01-01';
SET @dateend := '2012-02-29';
我假设这与它要求2个字符串的事实有关。我甚至试过将它投射到目前为止。
有什么想法吗?
答案 0 :(得分:1)
在失败的示例中,您有两次SET
关键字。如果你从第二行删除它应该工作:
SET
@datestart := '2012-01-01',
@dateend := '2012-02-29';
这是因为SET
关键字作为完整语句起作用 - 直到结束分号。当它遇到另一个SET
关键字时,它的语法无效。