javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

如何生成Oracle模式的整个DDL(可编写脚本)?

谁能告诉我如何在Oracle模式中为所有表,视图,索引,包,过程,函数,触发器,类型,序列,同义词,授予等生成DDL? 理想情况下,我也想复制行,但这并不重要。

我想在某种计划的作业上执行此操作,而不是每次都手动执行此操作,因此可以排除使用SQL Developer中的向导的麻烦。

理想情况下,由于我将在具有授予和同义词的多个模式上运行此操作,因此我希望有一种方法可以在输出中进行查找/替换,以使模式名称与我要使用的新模式的名称相匹配 成为。

谢谢!

trans by 2020-07-13T13:54:21Z

java-JDBC ResultSet:我需要一个getDateTime,但是只有getDate和getTimeStamp

我想从带有JDBC的Oracle DB表中获取DATETIME列。 这是我的代码:

int columnType = rsmd.getColumnType(i);
if(columnType == Types.DATE)
{
    Date aDate = rs.getDate(i);
    valueToInsert = aDate.toString();
}
else if(columnType == Types.TIMESTAMP)
{
    Timestamp aTimeStamp = rs.getTimestamp(i);
    valueToInsert = aTimeStamp.toString();
}
else
{
    valueToInsert = rs.getString(i);
}

我必须先确定列类型。 我感兴趣的字段被识别为Types.DATE,但实际上它是DB中的DATETIME,因为它具有以下格式:“ 07.05.2009 13:49:32”

getDate缩短时间:“ 07.05.2009”和getString附加“ .0”到它:“ 07.05.2009 13:49:32.0”

当然,我可以只删除最终的.0并始终使用getString,但这是一个肮脏的解决方法。

有任何想法吗 ? 我一直在寻找getDateTime方法。

干杯,提姆

trans by 2020-07-12T02:50:23Z

sql-表名两端的引号到底是做什么的?

我以为引号(“)只是分组标记的一种,但是我正在调试一些NHibernate代码,请注意,

SELECT * FROM site WHERE site_id = 3;

工作良好

SELECT * FROM "site" WHERE site_id = 3;

表失败或视图不存在错误。

是什么赋予了?

trans by 2020-07-11T11:23:18Z

Oracle SQL-DATE大于语句

如标题所示,我想找到一种方法来通过查询从SYSDATE检查过去6个月中的哪些数据集。

SELECT * FROM OrderArchive
WHERE OrderDate <= '31 Dec 2014';

我尝试了以下操作,但返回错误,表明我的日期格式不正确。 但是,插入数据时我按要求/打算使用该日期格式,没有任何问题。

命令行错误:10列:25

块引用

错误报告 -

SQL错误:ORA-01861:文字与格式字符串不匹配 01861。00000-“文字与格式字符串不匹配”

*原因:输入中的文字必须与中的文字长度相同 格式字符串(开头的空格除外)。 如果 “ FX”修饰符已启用,文字必须完全匹配, 没有多余的空格。

*操作:更正格式字符串以匹配文字。

trans by 2020-07-10T10:46:54Z

sql-如何从中的值列表中选择

我指的是BOOK答案:

如何从SQL Server的值列表中选择

在Oracle中如何做类似的事情?

我在此页面上看到了使用BOOK的其他答案,尽管该方法在技术上可行,但我不想在我的情况下使用。

因此,我想保留某种语法,该语法或多或少看起来像是逗号分隔的值列表。

有关BOOK答案的更新:

我有一张桌子:

CREATE TABLE "BOOK" 
(   "BOOK_ID" NUMBER(38,0)
)

我使用此脚本,但它不会在BOOK表中插入任何行:

create type number_tab is table of number;

INSERT INTO BOOK (
    BOOK_ID
)
SELECT A.NOTEBOOK_ID FROM
    (select column_value AS NOTEBOOK_ID from table (number_tab(1,2,3,4,5,6))) A
;

脚本输出:

TYPE number_tab compiled
Warning: execution completed with warning

但是,如果我使用此脚本,则会在BOOK表中插入新行:

INSERT INTO BOOK (
    BOOK_ID
)
SELECT A.NOTEBOOK_ID FROM
    (SELECT (LEVEL-1)+1 AS NOTEBOOK_ID FROM DUAL CONNECT BY LEVEL<=6) A
;
trans by 2020-07-08T22:04:43Z

oracle-SQL生成从1到100的数字列表

使用DUAL表,如何获得1到100的数字列表?

trans by 2020-07-08T14:54:15Z

如何查找Oracle服务名称

我的网络上有一个Oracle数据库,可以使用主机名,端口,用户名,密码和SID与Oracle SQL Developer连接。

我需要连接另一个应用程序(Quantum Gis),但是它使用服务名称而不是SID。

通过SID在SQL Developer中连接时,我有什么方法可以确定数据库的SERVICE_NAME?

我无权访问服务器,也没有本地tnsnames.ora或类似名称。

trans by 2020-07-06T13:36:49Z

oracle-如何将DBMS_OUTPUT.PUT_LINE的输出重定向到文件?

我需要在pl / sql中进行调试以计算过程次数,我想使用:

SELECT systimestamp FROM dual INTO time_db;
DBMS_OUTPUT.PUT_LINE('time before procedure ' || time_db);

但我不知道输出将到达何处,以及如何将其重定向到包含我要收集的所有数据的日志文件?

trans by 2020-07-06T02:11:10Z

如何在Oracle SQL Developer工具中运行.sql文件以导入数据库?

我已经将数据库从Oracle SQL开发人员工具导出到.sql文件。 现在,我要运行大小为500+ MB的文件。

我在这里阅读了有关运行脚本的信息,但我不明白这种方式。 是否有任何命令或查询可通过提供路径来运行此sql脚本?

trans by 2020-07-05T12:37:43Z

oracle-ORA-28001:密码已过期

我在Oracle中遇到有关我的数据库的问题,当我打开数据库时,它显示一条消息,内容为:“ ORA-28001:密码已过期”

我已经用一些更新了我的帐户:

sqlplus /nolog
SQL> connect / as SYSDBA
Connected.

SQL> SELECT username, account_status FROM dba_users WHERE ACCOUNT_STATUS LIKE '%EXPIRED%';

SQL> ALTER USER system IDENTIFIED BY system;         
User altered.

SQL> ALTER USER system ACCOUNT UNLOCK;
User altered.

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.

SQL> exit

我检查并看到,我的帐户:“系统”具有OPEN,但是我在Oracle SQL Developer上打开了该帐户,但仍然有警报:

ORA-28001: The password has expired

我已经提到了很多联系,但仍然是同样的问题,如何解决呢?

trans by 2020-07-05T00:50:32Z

数据库-为什么在尝试在数据库中加载Blob时出现java.lang.AbstractMethodError?

JDBC有问题。

我有以下代码:

//blargeparam is a blob column.
PreparedStatement pst =connection.prepareStatement("update gcp_processparams_log set blargeparam= ? where idprocessparamslog=1");

pst.setBinaryStream(1,inputStream);         

我收到以下错误:

Exception in thread "main" java.lang.AbstractMethodError:           
oracle.jdbc.driver.T2CPreparedStatement.setBinaryStream(ILjava/io/InputStream;)V  

我的连接字符串是Manifest-Version: 1.0 Specification-Title: Oracle JDBC driver classes for use with JDK14 Sealed: true Created-By: 1.4.2_14 (Sun Microsystems Inc.) Implementation-Title: ojdbc14.jar Specification-Vendor: Oracle Corporation Specification-Version: Oracle JDBC Driver version - "10.2.0.4.0" Implementation-Version: Oracle JDBC Driver version - "10.2.0.4.0" Implementation-Vendor: Oracle Corporation Implementation-Time: Sat Feb 2 11:40:29 2008

Oracle版本为11g。

从错误消息看来,似乎缺少了一些东西,但是:

  • 当我从同一个Blob列中读取时(带有blob.getBytes)一切作品。
  • 即时客户端的DLL是(正确)在库路径中。
  • 这是甲骨文的体现我的类路径中的JDBC JAR:

    Manifest-Version: 1.0  
    Specification-Title:    Oracle JDBC driver classes for use with JDK14  
    Sealed: true  
    Created-By: 1.4.2_14 (Sun Microsystems Inc.)  
    Implementation-Title:   ojdbc14.jar  
    Specification-Vendor:   Oracle Corporation  
    Specification-Version:  Oracle JDBC Driver version - "10.2.0.4.0"  
    Implementation-Version: Oracle JDBC Driver version - "10.2.0.4.0"  
    Implementation-Vendor:  Oracle Corporation  
    Implementation-Time:    Sat Feb  2 11:40:29 2008  
    
trans by 2020-07-04T14:01:42Z

PostgreSQL vs

好吧,这个问题提出了一个问题:

  1. Oracle有很好的支持,EnterpriseDB也有
  2. Oracle可以轻松管理大量数据,PostgreSql的规范也表明相同
  3. 功能方面,我不确定,但是在互联网上阅读有关这两个数据库的信息会导致并列

我现在想知道为什么oracle更受欢迎。

一个网站应该考虑哪个数据库(保留许可证/金钱),该网站应该是可伸缩的,并且可能具有大量的活动用户(比如说10,000个在线用户)。

我不是在寻找像Cassandra,mongo DB等的东西...

trans by 2020-07-03T16:27:18Z

sql-通过仅了解日期而不了解时间(ORACLE)从表中选择

我试图通过了解列中的日期包含日期和时间来从表中检索记录。

假设我有一个名为date的表,它仅包含两个列datedate

像这样的日期存储在列日期中的数据date

我想例如通过此查询来检索该记录(请注意,我不花时间):

Select * From t1 Where date="8/3/2010"

这个查询给我什么!

我如何不花时间只知道date来检索date

trans by 2020-07-03T11:03:48Z

sql-如何终止正在运行的SELECT语句

如何通过终止会话来停止正在运行的SELECT语句?

该命令根据SELECT语句不断为我提供输出,我希望在两者之间停止输出。

trans by 2020-07-03T02:36:32Z

plsql-如何执行oracle存储过程?

我正在使用Oracle 10g Express Edition。 它为数据库开发人员提供了一个不错的用户界面。 但是我在执行存储过程时遇到了一些问题。

程序:

create or replace procedure temp_proc is
begin
  DBMS_OUTPUT.PUT_LINE('Test');
end

它创建成功。 但是当我执行时:

execute temp_proc;

它显示ORA-00900:无效的SQL语句

所以这里需要帮助

trans by 2020-07-03T02:30:51Z

sql-物化视图与表:有哪些优点?

对我来说很清楚,为什么物化视图比查询基表更可取。 尚不清楚的是,与仅创建具有与MV相同数据的另一个表相比,它的优势。 MV的唯一优势真的就是易于创建/维护吗?

MV是否不等同于具有匹配模式和使用MVs SELECT语句的INSERT INTO的表?

意思是,您可以如下创建MV

CREATE MATERIALIZED VIEW ... AS
SELECT * FROM FOO;

您可以创建一个等效表:

CREATE TABLE bar (....);
INSERT INTO bar 
SELECT * FROM FOO;

并不是说易于创建/维护不足以带来优势,我只是想确保自己没有遗漏任何东西。

trans by 2020-07-02T22:32:32Z

哪种.NET数据类型最适合在NHibernate中映射NUMBER Oracle数据类型?

我已经看到了一些示例,其中在NHibernate项目中使用decimal映射到Oracle中的整数列。 现在,我在程序中使用了intlong

decimalint/long的优势是什么? 它表现更好吗?

trans by 2020-07-02T16:51:19Z

sql-在另一个架构中对表的外键引用

我试图在其中一个表上创建外键,并在其他模式中引用表的列。

像这样:

ALTER TABLE my_schema.my_table ADD (
  CONSTRAINT my_fk
    FOREIGN KEY (my_id)
    REFERENCES other_schema.other_table(other_id)
)

由于我获得了必要的赠款,因此效果很好。

现在,我想知道是否有原因不引用其他模式中的表,或者有什么需要注意的地方?

trans by 2020-07-02T14:45:47Z

数据库-如何解决ORA-011033:ORACLE初始化或关闭正在进行中

尝试通过TOAD(Quest软件)或任何其他方式连接到ORA-011033: ORACLE initialization or shutdown in progress用户时(Oracle Enterprise Manager),我收到此错误:

ORA-011033: ORACLE initialization or shutdown in progress

trans by 2020-07-02T03:00:16Z

java-在PreparedStatement中使用setDate

为了使我们的代码更加标准,我们被要求更改将SQL变量硬编码为预处理语句的所有位置,然后绑定变量。

但是,我面临着setString()的问题。

这是代码:

        DateFormat dateFormatYMD = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        DateFormat dateFormatMDY = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
        Date now = new Date();
        String vDateYMD = dateFormatYMD.format(now);
        String vDateMDY = dateFormatMDY.format(now);
        String vDateMDYSQL =  vDateMDY ;
        java.sql.Date date = new java.sql.Date(0000-00-00);

   requestSQL = "INSERT INTO CREDIT_REQ_TITLE_ORDER (REQUEST_ID," + 
                " ORDER_DT, FOLLOWUP_DT) " +  "values(?,?,?,)";


                prs = conn.prepareStatement(requestSQL);

                prs.setInt(1,new Integer(requestID));

                prs.setDate(2,date.valueOf(vDateMDYSQL));
                prs.setDate(3,date.valueOf(sqlFollowupDT));

执行SQL时出现此错误:

    java.lang.IllegalArgumentException
    at java.sql.Date.valueOf(Date.java:138)
    at com.cmsi.eValuate.TAF.TAFModuleMain.CallTAF(TAFModuleMain.java:1211)

我应该使用setString()代替to_date()吗?

trans by 2020-07-01T15:39:40Z

1 2 3 4 5 6 7 8 9 10 11 12 13 下一页 共13页