我有两个包含以下字段的表:
table1 : OTNAME table2 : SNCODE, description_text
我正在尝试将 table2 的两列添加到 table1 并更新列。我的查询是:
alter table table1 add sncode integer
alter table table1 add description_text varchar2(30)
update table1 set
sncode,description_text = (SELECT sncode, description_text
FROM table2, table1
WHERE SUBSTR (otname, INSTR (otname,'.', 1, 3)
+ 1,
INSTR (otname, '.', 1, 4)
- INSTR (otname,'.', 1, 3)
- 1)
= sncode)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:ORA 00927 - Missing Equal to Operator,指向我的更新语句的第二行。感谢有人能指出我正确的方向。
问候,
新手
我想用一个变量代替oracle.
var来自via SQLPlus,使用&1引用
我的场景中的&1是模式名称 - 这是SQL.
CREATE SYNONYM ACCOUNT FOR &1.ACCOUNT;
Run Code Online (Sandbox Code Playgroud)
假设&1等于ABC,则synonym创建的是ABCAccount,而不是ABC.Account.出于某种原因,该期间被删除.
有什么想法吗?
如何查询表中的行,其中表中的 created_date 列值仅落在周末日期,即使用 Oracle SQL 的周六/周日。
谢谢
我需要一个SQL查询来执行以下操作:
select ..........
from ....
where ....
and arrival_time between systemtime and (systemtime + 7 hours )
Run Code Online (Sandbox Code Playgroud) 我有一个数据转储,然后我想将它导入另一个数据库(Oracle 10g).目标DB已经有表(没有数据)和一些外键约束.我将按表导入数据,以避免约束错误.如果有人知道任何更简单的方法,请教我吗?(Oracle的导入工具没有自动识别表间关系的功能,是吗?)
我使用以下语法在 Oracle 10G 中创建表的私有同义词:
create private synonym <synonym name>
for <schema name>.<table name>;
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ERROR at line 1:
ORA-00905: missing keyword
Run Code Online (Sandbox Code Playgroud)
请用正确的语法指导我。我做了研究,但是我发现仅公共同义词的语法。
我真的很想在做我的工作时保持谨慎.
我需要在我的SQL查询中用一些文本替换空白但我不想实际更新到数据库,只是想更新到我查询的数据.
如果我使用Replace()它会在服务器上替换或只是我查询的数据?
你能给我举个例子,我怎么能用Replace()代替我不读入服务器的数据.
当用户在C#(.NET)开发的表单条目中输入输入文本(例如"Sam的项目可交付成果")时,我想要单引号.数据库是ORACLE 10g.
我遇到了ORACLE 10g http://www.orafaq.com/wiki/SQL_FAQ#How_does_one_escape_special_characters_when_writing_SQL_queries.3F提供的引用分隔符功能,但我不确定是否使用这样的引用分隔符q'[带有单引号的某些文本]作为部分SELECT语句会阻止SQL注入攻击吗?
引号分隔符q'[带单引号的文本]'的示例用法:
SQL> SELECT q'[Frank's Oracle site]' AS text FROM DUAL;
TEXT
-------------------
Frank's Oracle site
SQL> SELECT q'[A 'quoted' word.]' AS text FROM DUAL;
TEXT
----------------
A 'quoted' word.
SQL> SELECT q'[A ''double quoted'' word.]' AS text FROM DUAL;
TEXT
-------------------------
A ''double quoted'' word.
Run Code Online (Sandbox Code Playgroud) 我正在寻找varchar2类型的限制,就oracle中的类型表而言.请注意,我不是在谈论物理表(varchar2的限制为4000),而是一个类型的表.
谢谢
我有一个 Oracle 查询,我想在合并 NULL 时通过 PARTITION 返回 MAX()。
例如,如果原始数据是:
姓名 | 日期 ----------------------- 亚当 | 01/21/14 00:00 亚当 | 亚当 | 01/22/14 00:01 亚当 | 01/23/14 00:02
使用以下查询返回以下内容:
MAX(date) OVER (PARTITION BY name ORDER BY date)
Run Code Online (Sandbox Code Playgroud)
姓名 | 日期 ----------------------- 亚当 | 01/21/14 00:00 亚当 | 01/22/14 00:01 亚当 | 01/23/14 00:02 亚当 | 01/23/14 00:02
是否有可能让它像 NULL 是一个 MAX() 值一样,所以它会返回以下内容?
姓名 | 日期 ----------------------- 亚当 | 01/21/14 00:00 亚当 | 亚当 | 亚当 |