我写了一个简单的触发器:
CREATE TRIGGER test_tr
ON bi_test_tr
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
INSERT INTO test (datechange, sum1, sum2, sum3)
SELECT
GETDATE(), SUM([filed1]), SUM([filed2]), SUM([filed3])
FROM bi_test_tr
END
GO
触发器应将3列(filed1,filed2,filed3)的总和插入到具有当前日期的表test
中。
但是当我将新数据集上传到bi_test_tr
时,test
中没有插入任何内容。
你知道为什么吗?
答案 0 :(得分:1)
我刚用以下代码测试了您的代码:
2016-05-12 12:03:09.253 1 1 1
2016-05-12 12:03:09.287 3 3 3
2016-05-12 12:03:09.307 6 6 6
2016-05-12 12:03:09.307 10 10 10
2016-05-12 12:03:09.310 15 15 15
得到了预期的结果:
<script>
function testSubmit()
{
var x = document.forms["myForm"]["input1"];
var y = document.forms["myForm"]["input2"];
if (x.value === "")
{
alert(' fill!!');
return false;
} Blockquote
if(y.value === "")
{
alert('plz fill the!!');
return false;
}
return true;
}
function submitForm()
{
if (testSubmit())
{
document.forms["myForm"].submit(); //first submit
document.forms["myForm"].reset(); //and then reset the form values
}
} </script> <body>
<form method="get" name="myForm">
First Name: <input type="text" name="input1"/>
<br/>
Last Name: <input type="text" name="input2"/>
<br/>
<input type="button" value="Submit" onclick="submitForm()"/>
</form>
</body>
除非我遗漏了什么?
答案 1 :(得分:0)
我认为你应该首先选择,然后选择插入。但我不确定,但你应该这样做
select getdate(), sum([field1]), sum([field2]), sum([field3]) into var1, var2, var3;
必须首先声明这3个变量。 最后,您只需要插入这些变量。
同样,我不确定,但你可以尝试:)