我在哪里可以找到有关PostgreSQL命名约定的详细手册?(表名与驼峰案例,序列,主键,约束,索引等......)
可能重复:
是否有充分的理由对T-SQL关键字使用大写?
简单的问题.我个人发现一串小写字符比一串大写字符更易读.是一些旧的/流行的SQL味道敏感或什么?
以供参考:
select
this.Column1,
case when this.Column2 is null then 0 else this.Column2 end
from dbo.SomeTable this
inner join dbo.AnotherTable another on this.id = another.id
where
this.Price > 100
Run Code Online (Sandbox Code Playgroud)
与
SELECT
this.Column1,
CASE WHEN this.Column2 IS NULL THEN 0 ELSE this.Column2 END
FROM dbo.SomeTable this
INNER JOIN dbo.AnotherTable another ON this.id = another.id
WHERE
this.Price > 100
Run Code Online (Sandbox Code Playgroud)
前者对我来说似乎更具可读性,但我更经常地看到后一种方式.
如果表或列名称包含大写字母,我想知道这是否有问题.有些东西让我相信数据库在保持小写的情况下可以减少麻烦.真的吗?哪些数据库不喜欢表名和列名中的任何大写符号?
我需要知道,因为我的框架从ER模型自动生成关系模型.
(这个问题不是关于它的好坏风格,而是关于它是否是任何数据库的技术问题)
我们刚刚将DEVEL的SQL Server 2005数据库"迁移"到了TEST中.不知何故,在迁移过程中,数据库从不区分大小写变为敏感 - 因此大多数SQL查询突然崩溃.
我想知道的是 - 拥有区分大小写的架构有什么明显的好处吗?
注:我的意思是表名,列名,存储过程的名称等.我不是指实际的数据被存储的表格中.
在第一次检查时,我找不到提供优于不区分大小写的好处的正当理由.
您好我试图在我的一个表中显示约束但由于某种原因我收到消息没有选择行.下面是我创建的表格.
Create table Teams (
TeamID varCHAR2(4) constraint Teams_TeamID_PK Primary Key,
TeamName VARCHAR2(40)
);
Run Code Online (Sandbox Code Playgroud)
这是我用来显示约束的代码.
SELECT constraint_name,
constraint_type,
search_condition
FROM USER_CONSTRAINTS
WHERE table_name = 'Teams';
Run Code Online (Sandbox Code Playgroud)
我是菜鸟,所以我想确保我明白了什么是错的.我试图放弃表认为我的约束没有采取 - 我没有,也没有在创建表时我收到任何错误,我在另一个表中引用TeamID.因此,当我尝试删除表时,我得到一条错误消息,这是我希望的.
她是我的问题,我猜它真的很基础.
我正在尝试在数据库中查找是否存在行.继承我的代码:
$req="SELECT * FROM INSTITUTS WHERE inst_name='$fc_inst'";
$result=mysql_query($req) or die ('Erreur :'.mysql_error());
if (mysql_num_rows($result)){
echo ' name exist';
}
else {
echo ' does not exist.';
}
Run Code Online (Sandbox Code Playgroud)
问题是,当imm寻找"测试"时,它表示不存在,即使我在我的数据库中有"测试".
我讨厌数据库中的区分大小写,但我正在为使用它的客户开发.如何在我的SQL Server上启用此选项,因此我可以确定我在所有查询中都已正确使用该案例?
当执行到达时cmd.ExecuteNonQuery()
必须声明标量变量,我收到错误:
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = Connection;
cmd.CommandTimeout = 0;
string commandText = "update groups set subjectline ='" + txtSubjectLine.Text + "',data= @data where groupid = " + ddlGroup.SelectedItem.Value + " ";
cmd.CommandText = commandText;
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@Data",OleDbType.VarBinary);
cmd.Parameters["@Data"].Value = binarydata;
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud) 我试图在使用MySQL(5.1)之后熟悉Postgres(9.2),因为我被一些MySQL的陷阱所困扰.然而,在我与Postgres的前五分钟里,我碰到了其中一个陷阱,我确信每个人都会遇到它:
这对我来说并不算太大,因为有几个明显的解决方法:
但我想知道为什么.考虑到我想象这个设计决定导致了多少争用,我很惊讶我在互联网上找不到任何理由.有没有人有一个彻底的解释,或者最好是一些开发者宣言的链接,为什么Postgres是这样设计的?我很感兴趣.
database ×3
mysql ×2
postgresql ×2
sql ×2
sql-server ×2
asp.net ×1
constraints ×1
formatting ×1
module ×1
node.js ×1
oracle ×1
orm ×1
php ×1
readability ×1
sqlplus ×1