我想在Oracle中声明并显示一个变量.
在T-SQL中我会做这样的事情
DECLARE @A VARCHAR(10) --Declares @A
SELECT @A = '12' --Assigns @A
SELECT @A --Displays @A
Run Code Online (Sandbox Code Playgroud)
我怎样才能在Oracle中执行此操作.
我有一个很大的查询与嵌套和左连接和Ineed创建一个视图,以便不从应用程序运行它.问题是我需要日期范围和其他一些字段作为输入参数,因为它会因每个请求的前端而异.我只是查了一下并看到一些帖子指的是使用SYS_CONTEXT进行参数化视图,并且需要确切地知道如何创建视图,例如使用2个参数 - fromdate, todate以及我如何从应用程序调用视图.
仅供参考我使用grails/groovy来开发应用程序.这是我想要创建视图的查询..
select
d.dateInRange as dateval,
eventdesc,
nvl(td.dist_ucnt, 0) as dist_ucnt
from (
select
to_date(fromdate,'dd-mon-yyyy') + rownum - 1 as dateInRange
from all_objects
where rownum <= to_date(fromdate,'dd-mon-yyyy') - to_date(todate,'dd-mon-yyyy') + 1
) d
left join (
select
to_char(user_transaction.transdate,'dd-mon-yyyy') as currentdate,
count(distinct(grauser_id)) as dist_ucnt,
eventdesc
from
gratransaction, user_transaction
where gratransaction.id = user_transaction.trans_id and
user_transaction.transdate between to_date(fromdate,'dd-mon-yyyy') and to_date(todate,'dd-mon-yyyy')
group by to_char(user_transaction.transdate, 'dd-mon-yyyy'), eventdesc
) td on td.currentdate = d.dateInRange order by d.dateInRange asc
Run Code Online (Sandbox Code Playgroud) 我有一些非独特的约束,我想改变成唯一约束(业务规则自数据模型制定以来已经改变).有没有办法在删除和重新创建作为唯一约束的情况下执行此操作?我在想这个alter constraint命令会有一个选项,但我没找到任何东西.
谢谢!!
我有一个表:abc_test,列n_num,k_str.
此查询不起作用:
select distinct(n_num) from abc_test order by(k_str)
Run Code Online (Sandbox Code Playgroud)
但是这个有效:
select n_num from abc_test order by(k_str)
Run Code Online (Sandbox Code Playgroud)
DISTINCT和ORDER BY关键字如何在内部工作,以改变两个查询的输出?
我使用以下文档编写了以下查询:Oracle Documentation将一些数据从生产服务器上的数据库/表复制到Sandbox服务器上的数据库/表.
COPY FROM username1/passwd1@<production_IP> to username2/passwd2@<sandbox_IP> INSERT TABLE_C (*) USING
(SELECT * FROM TABLE_C WHERE COL_A = 4884);
但是,我经常遇到Connection failed错误.查询有什么问题吗?
我需要一个数字列作为我正在处理的事情的指标,但我不希望它每个记录占用超过一个字节.如果我使用NUMBER(1),这会满足我的要求吗?
我目前正在使用Oracle,但大多数SQL都是db不可知的.一个例外是CURRENT_TIMESTAMP在MSSQL中失败.是否有可能为此移动到更便携的语法?
我们有一个表格形式:
ID,Value1,Value2,Value3
1,2,3,4
Run Code Online (Sandbox Code Playgroud)
我们需要将其转化为.
ID,Name,Value
1,'Value1',2
1,'Value2',3
1,'Value3',4
Run Code Online (Sandbox Code Playgroud)
在一个SELECT语句中是否有一种聪明的方法(即没有UNION)?列名称Value1,Value2和Value3是固定且常量的.
该数据库是oracle 9i.
我在Windows 7上安装了Oracle 11g
当我启动sqlplus时,它会询问我的用户名和密码
任何人都可以告诉我需要插入什么用户名,当我尝试输入任何密码时,它不允许我输入单个字母.有原因吗?
我编写了一个具有以下查询的SQL脚本.查询工作正常.
update partner set is_seller_buyer=1 where id in (select id from partner
where names in
(
'A','B','C','D','E',... // around 100 names.
));
Run Code Online (Sandbox Code Playgroud)
但现在我不想在查询中写入大约100个名称,而是想从CSV文件中获取所有名称.我在互联网上阅读了关于SQL*Loader但我对更新查询没有太多了解.我的csv文件只包含名称.

我试过了
load data
infile 'c:\data\mydata.csv'
into table partner set is_wholesaler_reseller=1
where id in (select id from partner
where names in
(
'A','B','C','D','E',... // around 100 names.
));
fields terminated by "," optionally enclosed by '"'
( names, sal, deptno )
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?提前致谢.
oracle ×9
oracle11g ×5
sql ×4
oracle9i ×2
plsql ×2
byte ×1
constraints ×1
distinct ×1
numbers ×1
oracle10g ×1
select ×1
sql-loader ×1
sql-order-by ×1
sqlplus ×1
views ×1