小编Cia*_*cia的帖子

确定Postgresql中的触发源

你认为可以确定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)

sql postgresql triggers postgresql-9.4

9
推荐指数
1
解决办法
490
查看次数

删除日历时出现Office 365统一API错误

今天我正在使用新的(测试版)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跟踪器?

非常感谢提前

ms-office office365 office365api

5
推荐指数
1
解决办法
540
查看次数

Spring MVC FlashMap 和 RedirectAttributes 请求映射

昨天我下载了新的 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)

model-view-controller redirect spring flash-scope

4
推荐指数
1
解决办法
6210
查看次数