【发布时间】:2011-06-20 03:25:57
【问题描述】:
我是 PostgreSQL 新手。谁能更正这个查询。
BEGIN TRANSACTION;
BEGIN;
CREATE TABLE "Logs"."Events"
(
EventId BIGSERIAL NOT NULL PRIMARY KEY,
PrimaryKeyId bigint NOT NULL,
EventDateTime date NOT NULL DEFAULT(now()),
Action varchar(12) NOT NULL,
UserId integer NOT NULL REFERENCES "Office"."Users"(UserId),
PrincipalUserId varchar(50) NOT NULL DEFAULT(user)
);
CREATE TABLE "Logs"."EventDetails"
(
EventDetailId BIGSERIAL NOT NULL PRIMARY KEY,
EventId bigint NOT NULL REFERENCES "Logs"."Events"(EventId),
Resource varchar(64) NOT NULL,
OldVal varchar(4000) NOT NULL,
NewVal varchar(4000) NOT NULL
);
COMMIT TRANSACTION;
RAISE NOTICE 'Task completed sucessfully.'
EXCEPTION;
ROLLBACK TRANSACTION;
RAISE ERROR @ErrorMessage, @LineNumber, @ErrorState --how to catch errors and display them????
END;
问题:
- 如何在 T-SQL 中打印类似“PRINT”的消息?
- 如何使用异常信息引发错误?
【问题讨论】:
-
你用什么语言写作?您似乎将 C 宏与直接 SQL 语句混合在一起,并且在标签中说“plpgsql”。
-
我是 postgres 的新手。你能指导我在 postgres 查询中实现这个吗?
-
谢谢。已编辑。我尝试了其他几种语法,但徒劳无功。
标签: postgresql plpgsql