我试图DESCRIBE通过数据库链接执行命令,但这是返回消息:
DESCRIBE <table>@<database>;
ERROR:
------------------------------------
ERROR: object <table> does not exist
1 rows selected
Run Code Online (Sandbox Code Playgroud)
SELECT这张桌子上的A 效果很好.
Oracle是否DESCRIBE通过数据库链接进行许可?
我正在使用Oracle SQL Developer 1.5.1.
编辑:
是否还有另一种选择来描述表格?
提前致谢!
我们使用Guids作为数据库中实体的主键.传统上,我们遵循一种让INSERT期间数据库为实体设置ID的模式,我认为这主要是因为这通常是你使用自动增量字段或其他方式处理事物的方式.
我发现在对象构建过程中在代码中进行键分配更加方便,主要有两个原因:
有没有令人信服的理由不以这种方式做事?也就是说,当使用Guids作为密钥时,是否有充分的理由将密钥分配保留到数据库中?
编辑: 很多人对Guids是否应该用于PK(我知道)有强烈的意见,但这不是我的问题.
除了集群问题(如果正确设置索引似乎没有问题),我还没有看到避免在应用程序层中创建密钥的令人信服的理由.
我在哪里可以找到导入我的数据库的表格中的美国国家列表?
SQL是理想的,否则CSV或其他平面文件格式是好的.
编辑:完成两个字母的州代码
从这个问题,关于使用COALESCE一个整洁的答案来简化复杂的逻辑树.我考虑过短路问题.
例如,在大多数语言的函数中,参数被完全评估,然后传递给函数.在C:
int f(float x, float y) {
return x;
}
f(a, a / b) ; // This will result in an error if b == 0
Run Code Online (Sandbox Code Playgroud)
这似乎不是COALESCESQL Server中"功能" 的限制:
CREATE TABLE Fractions (
Numerator float
,Denominator float
)
INSERT INTO Fractions VALUES (1, 1)
INSERT INTO Fractions VALUES (1, 2)
INSERT INTO Fractions VALUES (1, 3)
INSERT INTO Fractions VALUES (1, 0)
INSERT INTO Fractions VALUES (2, 0)
INSERT INTO Fractions VALUES (3, …Run Code Online (Sandbox Code Playgroud) 我需要在我的数据库中设计一个Key/value表,我正在寻找最佳方法的指导.基本上,我需要能够将值与一组动态命名属性相关联,并将它们应用于外部键.
我需要支持的操作是:
似乎最简单的方法是定义一个表:
CREATE TABLE KeyValue (
id int,
Key varchar...,
Value varchar...
);
Run Code Online (Sandbox Code Playgroud)
似乎我可能会在Key列中复制大量数据,因为我可能会为大量文档定义任何给定的键.用一个整数查找替换Key varchar到另一个表似乎缓解了这个问题(并且使枚举所有活动密钥的效率明显提高),但是我仍然坚持维护查找表的问题(随时随地插入它)定义属性,并在键/值被清除时可能删除条目.
最好的方法是什么?
MS SQL是否使用ON DELETE CASCADE选项限制自引用约束?我有一个父子关系表,PARENT_ID列是ID的外键.使用ON DELETE CASCADE选项创建它会导致错误
"引入FOREIGN KEY约束可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束."
我无法相信我必须在递归模式下删除此层次结构.除了触发器有什么问题吗?
我IQueryable<T>在我的应用程序中使用接口,并推迟在DB上执行SQL,直到像这样的方法.ToList()
我有时需要找到某些列表的计数 - 而不需要使用列表中的数据进行计数.根据我的SQL经验,我知道SQL COUNT()的工作量远远少于返回所有行的等效SELECT语句.
所以我的问题是:不会是在DB工作少,从返回计数IQueryable<T>的Count()不是呈现方法IQueryable<T>到列表并调用列表的Count()方法是什么?
我怀疑它将会ToList()激活SELECT sql,然后在单独的查询中计算行数.我希望Count()在IQueryable<T>简单地为sql COUNT()查询呈现sql.但我不确定.你知道吗?
在使用SQL语句时,我应该始终使用完全限定的列名(tablename.columnname),即使只使用一个表,例如
SELECT table.column1, table.column2 FROM table
Run Code Online (Sandbox Code Playgroud) 考虑到列类型是DateTime,如何将LINQ to SQL查询的结果按小时分组?
我知道我可以使用以下查询返回一个空表:
select * from tbFoo where 1=2
Run Code Online (Sandbox Code Playgroud)
但是那段代码对我来说并不好看.
有这种"标准"方式吗?
如果你想知道我为什么要做这么奇怪的事情,那是因为我无法命名我从存储过程返回的数据表,所以我需要空的占位符.
sql ×10
sql-server ×3
t-sql ×3
linq ×2
.net ×1
c# ×1
coalesce ×1
coding-style ×1
csv ×1
guid ×1
iqueryable ×1
linq-to-sql ×1
list ×1
lookup ×1
oracle ×1
performance ×1