我是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 …Run Code Online (Sandbox Code Playgroud) PostgreSQL数据库的新手,我发现列名自动转换为小写.我创建了一个PLAIN备份,手动将列名称编辑为正确的大小写.当我尝试恢复已编辑的PLAIN备份时,禁用了pgAdmin3 Restore的"确定"按钮.
有没有办法运行编辑过的普通备份文件?请帮忙.
问题是自我解释.你能否指出一种在字符串的每个大写字母之间放置空格的方法.
SELECT dbo.SpaceBeforeCap('ThisIsATestString')
Run Code Online (Sandbox Code Playgroud)
会导致
This Is A Test String.
Run Code Online (Sandbox Code Playgroud) DECLARE @str VARCHAR (MAX);
SELECT @str = COALESCE(@str + CHAR(10), '') +
'EXECUTE CreateDeno ' + CAST(ID AS VARCHAR)
FROM GL_To_Batch_Details
WHERE TYPE = 'C' AND
Deno_ID IS NULL;
--PRINT @str;--SELECT @str;
**EXEC(@str);**
Run Code Online (Sandbox Code Playgroud)
EDITED
EXECUTE语句是否将字符串截断为8,000个字符PRINT?如何执行具有超过8,000个字符的动态SQL语句?
任何建议都会受到热烈的赞赏.
调用函数来验证电子邮件地址的检查约束对我来说效果不佳.
CREATE OR REPLACE FUNCTION f_IsValidEmail(text) returns BOOLEAN AS
'select $1 ~ ''^[^@\s]+@[^@\s]+(\.[^@\s]+)+$'' as result
' LANGUAGE sql;
SELECT f_IsValidEmail('myemail@address.com');
Run Code Online (Sandbox Code Playgroud)
该函数返回false,应为true.我尝试了其他几个正则表达式但是徒劳无功.任何人都可以指出这个功能有什么问题吗?
在pg_hba.conf中,我有
host all all 127.0.0.1/32 md5
host all all samenet md5
Run Code Online (Sandbox Code Playgroud)
我还补充道
host all all samehost md5
Run Code Online (Sandbox Code Playgroud)
双方.
我正在使用pgAdminIII,尝试创建"新服务器注册".当我连接到(localhost)时,它工作正常.但当我将主机更改为实际的工作站名称时,它说:
FATAL: no pg_hba.conf entry for host "fe80::c81c:9e9c:6570:d0bf%20", user "postgres", database "postgres", SSL off
Run Code Online (Sandbox Code Playgroud)
附加信息
任何有关这方面的帮助将受到高度赞赏.
后端是PostgreSQL服务器9.1.
我正在尝试构建AdHoc XML报告.报告文件将包含SQL查询,所有这些查询都必须以SELECT语句开头.SQL查询将具有参数.根据相关列的数据类型,这些参数将相应地呈现给用户以提供值.
一个重要的SQL查询:
SELECT * FROM customers
WHERE
(
customers.customer_code=@customer_code AND customers.location=@location
AND customers.type=
(
SELECT type from types
WHERE types.code=@type_code
AND types.is_active = @type_is_active
)
AND customers.account_open_date BETWEEN @start_date AND @end_date
)
OR customers.flagged = @flagged;
Run Code Online (Sandbox Code Playgroud)
我想从查询字符串中获取列名和参数的列表,并将它们放入字符串数组中并稍后处理.
我能够使用以下正则表达式仅匹配参数:
@(?)(?<parameter>\w+)
Run Code Online (Sandbox Code Playgroud)
预期比赛:
customers.customer_code=@customer_code
customers.location=@location
types.code=@type_code
types.is_active = @type_is_active
customers.account_open_date BETWEEN @start_date AND @end_date
customers.flagged = @flagged
Run Code Online (Sandbox Code Playgroud)
如何立即匹配"@Parameter","="和"BETWEEN"?
我们正在开发一个开源和免费的大型数据库驱动的Web应用程序.对于这个项目,我们已经选择PostgreSQL作为数据库平台并启动了数据库工作.
我们已经使用了一段时间的微软技术,并且在一个盒子里集成了很多东西.使用Visual Studio,它很容易让它工作.
对于我们的新项目,我们不希望我们的客户被迫支付Windows Server许可证,因此正在寻找一种新的技术,类似的ASP.NET(可能更好或更差),可以在客户端站点上实现免许可证部署.
除了Web技术要求之外,我们理想地喜欢具有Web技术的IDE,它提供IDE与OS和服务器(Web服务器,调试器等等)之间的集成,就像Visual Studio一样.IDE可以是商业的或免费的.
理想情况下,我们希望保持ASP.NET并同时"免费".
由于Oracle威胁,我们没有考虑项目的"Java".我们也考虑过Mono,但害怕在生产环境中使用它.
在大多数具有日期列的表中,我们"通常"会查询最近的信息.
按"降序"对日期列"一般"进行索引是一个好主意吗?
我正在通过一个新的 sql 文件设计一个新的数据库。我正在使用 Oracle SQL Developer 并以 sysdba 身份登录。
我想知道 SQL 开发人员是否支持或具有等效的命令
connect scott/tiger;
Run Code Online (Sandbox Code Playgroud)
先感谢您。
编辑
我正在尝试在引用架构 B 表的架构 A 表上创建外键。
显示的错误是
[Err] ORA-00942: 表或视图不存在
因此,我想以“架构 B”身份登录,将所有权限授予 SYS 用户,再次以 sys 身份登录并创建关系。
希望这次我更清楚。
postgresql ×4
asp.net ×2
oracle ×2
t-sql ×2
asp.net-4.0 ×1
c# ×1
database ×1
ide ×1
indexing ×1
open-source ×1
pgadmin ×1
plpgsql ×1
regex ×1
sql ×1