你认为可以确定PostgreSQL中触发器执行的来源吗?我们假设我有两个表如下:
CREATE TABLE tbl1 (id bigserial NOT NULL PRIMARY KEY,
name text NOT NULL);
CREATE TABLE tbl2 (id bigserial NOT NULL PRIMARY KEY,
owner bigint NOT NULL REFERENCES tbl1(id) ON DELETE CASCADE,
prop text NOT NULL);
Run Code Online (Sandbox Code Playgroud)
其中tbl2使用"ON DELETE CASCADE"引用tbl1.
此外,让我们在tbl2上定义一个触发器,它在删除ROW后执行:
CREATE FUNCTION test_fn() RETURNS trigger AS $$
BEGIN
RAISE NOTICE 'test_fn()';
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER test_delete AFTER DELETE ON tbl2
FOR EACH ROW EXECUTE PROCEDURE test_fn();
Run Code Online (Sandbox Code Playgroud)
在删除tbl2中的ROW之后始终执行触发器,如果直接删除行或通过级联删除行,则独立执行.例如,下面的两个语句最终触发了触发器:
DELETE FROM tbl1 WHERE id = 1;
DELETE FROM …Run Code Online (Sandbox Code Playgroud) 今天我正在使用新的(测试版)Office 365统一API,我发现了一个非常奇怪的行为,可能是微软方面的一个错误.
当我尝试使用统一API删除日历时,我收到409错误,当我尝试创建一个传递已存在名称的新日历时,我得到了同样的错误.这里是REST详细信息.
请求:
DELETE https://graph.microsoft.com/beta/me/calendars/AAMkAGZlO...6AAA= HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ...
Host: graph.microsoft.com
Run Code Online (Sandbox Code Playgroud)
响应:
HTTP/1.1 409 Conflict
{"error":{"code":"ErrorFolderExists","message":"A folder with the specified name already exists."}}
Run Code Online (Sandbox Code Playgroud)
根据规范(https://msdn.microsoft.com/office/office365/APi/calendar-rest-operations#Deletecalendars),应返回204.
有没有办法在Microsoft端创建一个bug,比如bug跟踪器?
非常感谢提前
昨天我下载了新的 Spring 3.1RC 来测试 Spring MVC 中刚刚引入的对 flash 作用域变量的支持。不幸的是我无法让它工作......
我有一个 HTML 表单,其中包含一些没有 spring:forms 标签的复选框。像这样的东西:
<form action="/deleteaction" method="post">
<input type="checkbox" name="itemId" value="1" />
<input type="checkbox" name="itemId" value="2" />
<input type="submit" name="delete" value="Delete items" />
</form>
Run Code Online (Sandbox Code Playgroud)
在 Flash 范围支持之前,我的带注释的控制器如下所示:
@RequestMapping(value = "/deleteaction", method = RequestMethod.POST, params={"delete"})
public String deleteItems(@RequestParam(value="itemId", required=false) String itemId[]) {
Run Code Online (Sandbox Code Playgroud)
或者,我可以使用 anHttpServletRequest代替@RequestParam:
@RequestMapping(value = "/deleteaction", method = RequestMethod.POST, params={"delete"})
public String deleteItems(HttpServletRequest request) {
String itemIds[] = request.getParameterValues("itemId");
Run Code Online (Sandbox Code Playgroud)
两种方法都运行良好。如果我尝试将 添加到RedirectAttributes方法参数中,Spring 将抛出异常:
@RequestMapping(value = …Run Code Online (Sandbox Code Playgroud) flash-scope ×1
ms-office ×1
office365 ×1
office365api ×1
postgresql ×1
redirect ×1
spring ×1
sql ×1
triggers ×1