出于测试目的,我想将大量数据(大约 1 MB)插入到 Oracle CLOB 列中。为了保持测试简单,我希望不必使用 C++ 或 Java 编写测试程序;相反,我想使用 SQL*PLus。
Oracle 的 SQL 语法是否提供了实现这一点的可能性?EMPTY_CLOB()即,我需要类似的东西,而不是函数MAKE_CLOB('x', 1000000),通过重复一个字符 1,000,0000 次来生成 CLOB。
(注意:我特别不想通过在 INSERT 语句中使用 SELECT 子句从另一条记录中选择大 CLOB 值来插入 CLOB。原因是我想确保我的测试仅涵盖 CLOB 写入操作,但不是 CLOB 读取操作。)
在Oracle 10g的默认编辑器Sql * Editor中,当我们更改rownum、pagesize等设置时。这些更改仅适用于当前会话。退出 SQL* 编辑器后,所有设置都将被删除。我们可以使改变成为永久性的吗?
我有一个 sqlplus 脚本,如果变量不为空,那么我想执行脚本并传递值。如果它为空,那么我想执行不同的脚本。我有以下内容:
col scr new_value script
set term off
select decode('&partitions', 'true', 'CreateTablesPartitions', 'CreateTables') scr from dual;
set term on
@@&script &partitions
Run Code Online (Sandbox Code Playgroud)
检查变量分区是否为 true,然后执行 CreateTablePartitions。如何检查变量分区是否为空?
我创建了一个名为 temp 的新用户,密码为temp。我有另一个名为Scott的用户,其身份为Tiger。我想将该配置文件中的三个表复制到temp上。所以我登录到temp并输入此内容(对于第一个名为iowe的表)
从 iowe@scott 复制 - 创建 iowe - 使用 select * from iowe;
在此之后,当我按Enter时,它询问我 FROM 密码。我输入Tiger,它抛出了一个错误。它是这样的:

所以请告诉我是否有一种方法可以将表从一个用户复制到另一个用户(我确信有)
非常感谢您的帮助。
我有一个小问题,我还不明白 dbms_output.put_line() 和 dbms_output.put() 之间的区别
set serveroutput on size 200000
Begin
dbms_output.put_line('A' || CHR(10) || 'B');
End;
/
exec dbms_output.put_line('A' || CHR(10) || 'B');
Run Code Online (Sandbox Code Playgroud)
上面给出了两行不同的输出A和B。但
exec dbms_output.put('A')
exec dbms_output.put('B')
exec dbms_output.new_line
Run Code Online (Sandbox Code Playgroud)
不打印任何内容。我正在使用SQL*Plus:版本 11.2.0.1.0 生产
我是数据库新手。
可以说我已经用力创建了一个视图。
那么如何知道创建的视图是否无效呢?
我的意思是,是否有任何查询可以让我了解视图的有效性状态?
谢谢。
所以我有一个简单的SQL脚本,它创建了一个简单的库在线目录的数据库模式:
DROP TABLE book_copies;
/
DROP TABLE books_authors_xref;
/
DROP TABLE authors;
/
DROP TABLE books;
/
CREATE TABLE books (
isbn VARCHAR2(13) NOT NULL PRIMARY KEY,
title VARCHAR2(200),
summary VARCHAR2(2000),
date_published DATE,
page_count NUMBER
);
/
CREATE TABLE authors (
name VARCHAR2(200) NOT NULL PRIMARY KEY
);
/
CREATE TABLE books_authors_xref (
author_name VARCHAR2(200),
book_isbn VARCHAR2(13),
CONSTRAINT pk_books_authors_xref PRIMARY KEY (author_name, book_isbn),
CONSTRAINT fk_books_authors_xref1 FOREIGN KEY (author_name) REFERENCES authors (name),
CONSTRAINT fk_books_authors_xref2 FOREIGN KEY (book_isbn) REFERENCES books (isbn)
); …Run Code Online (Sandbox Code Playgroud) 我正在做我的家庭作业,他们为oracle编写了sql代码(我相信版本11).
所以我写了正确的select语句,但格式化是不可读的.
我只是无法找到如何将空格降低到最长的名称,或限制绘制的字符数量.
ORDER_ID CUSTOMER_ID CUSTOMER_NAME
---------- ----------- ----------------------------------------
CUSTOMER_ADDRESS
--------------------------------------------------------------------------------
CUSTOMER_CITY CU
------------------------------ --
103 81 Sharon's Thrift Shop
5122 Alvin Heights
Austin TX
104 81 Sharon's Thrift Shop
Run Code Online (Sandbox Code Playgroud)
等等
我理解它,因为我的VarChar2很长,但这就是他想要的.(好吧,他说增加了足够的增长空间)
我发现像set pagesize和set lin这样的东西,我确实让它看起来不错但是它根本没有绘制列名或者它太短而且没有帮助
设林20; 回
ORDER_ID
----------
CUSTOMER_ID
-----------
CUSTOMER_NAME
--------------------
CUSTOMER_ADDRESS
--------------------
CUSTOMER_CITY
--------------------
CU
--
39
33
Widget Resellers, In
c.
743 Evergreen Terrac
e
Springfield
MO
Run Code Online (Sandbox Code Playgroud)
我不是100%肯定要搜索什么,大多数甚至不相关我的问题.我是oracle sql(和一般的sql)的新手.我认为这很常见,我认为有一个简单的灵魂,但我无法找到它.有帮助吗?
如果它与我的选择陈述相关
SELECT orders.order_id, customers* FROM orders,customers;
Run Code Online (Sandbox Code Playgroud)
和任何家庭作业一样,我想要理解问题(和灵魂),我不想要答案.
谢谢你的时间.
我有一个名为student的表具有以下列名和数据
NAME MARK2 MARK3 mark1 total surya 85 95 123 priya 75 95 25 vishnu 88 75 27
有没有办法添加列mark1和mark2和mark3并插入添加的值总共可以你们建议我使用sqlplus数据库这个.
无法弄清楚如何做标题
显示"女学生"标题下的女学生总数:
Struture:
CREATE TABLE Student
(StudID INTEGER PRIMARY KEY,
StudFName VARCHAR(10) NOT NULL,
StudLName VARCHAR(10) NOT NULL,
DoB DATE NOT NULL,
Sex CHAR(1) NOT NULL CHECK (Sex IN ('M', 'F')),
Email VARCHAR(30) UNIQUE);
Run Code Online (Sandbox Code Playgroud)