PostgreSQL异常处理
发布时间:2020-12-13 16:38:12 所属栏目:百科 来源:网络整理
导读:我是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 NU
我是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”等消息?
要捕获错误消息及其代码:
do $$ begin create table yyy(a int); create table yyy(a int); -- this will cause an error exception when others then raise notice 'The transaction is in an uncommittable state. ' 'Transaction was rolled back'; raise notice '% %',SQLERRM,SQLSTATE; end; $$ language 'plpgsql'; 还没有找到行号 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |