declare @dfname varchar(50)
select @dfname=a.name
from sysobjects a
inner join syscomments b on a.id=b.id
inner join sysconstraints c on c.constid=a.id
inner join syscolumns d on c.colid=d.colid and c.id=d.id
where a.xtype='D' and object_name(d.id)='表名' and d.name='列名'
if @dfname is not null
exec('alter table 表名 drop constraint '+@dfname)
Go
alter table 表名 drop column 列名
Go
......
1. 执行一个SQL脚本文件
SQL>start file_name
SQL>@ file_name
2. 对当前的输入进行编辑
SQL>edit
3. 重新运行上一次运行的sql语句
SQL>/
4. 将显示的内容输出到指定文件
SQL> SPOOL file_name
在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出
SQL> SPOOL OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构
SQL> desc table_name
7. COL命令:
主要格式化列的显示形式。
该命令有许多选项,具体如下:
COL[UMN] [{ column|expr} [ option ...]]
Option选项可以是如下的子句:
ALI[AS] alias
CLE[AR]
FOLD_A[FTER]
FOLD_B[EFORE]
FOR[MAT] format
HEA[DING] text
JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
LIKE { expr|alias}
NEWL[INE]
NEW_V[ALUE] variable
NOPRI[NT]|PRI[NT]
NUL[L] text
OLD_V[ALUE] variable
ON|OFF
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]
1). 改变缺省的列标题
COLUMN column_name HEADING column_heading
For example:
Sql>select * from dept;
......
作为一个B/S开发者,或多或少都得和数据库打交道,而对数据库的操作归根到底都是query语句,所有到最后都是为了查询,那么查看sql性能又成了我们开发中的一件趣事。下面简单介绍下sql_trace的使用:
alter session set sql_trace =true ;--打开sql_trace
select * from (select * from t order by id) where rownum <= 10;--执行要查看性能的sql语句
alter session set sql_trace =true ;--关闭sql_trace
对,上面的这几句话就可以了,你只要把它打开,执行sql,关闭就OK啦。你别以为这样就万事大吉了,测试已经完成,但是我们还没有看到结果呢。别急,测试结果可不是在sql-plus中可以看到的,这里我们要用到另外一个oracle自带工具:TKPROF 。它的作用就是格式化sql_trace的测试结果。
sql_trace生成的数据是以文件形式存储,该文件的具体位置可以用下面的sql查找出来
connect / as sysdba--以管理员登入(PS:我的数据库直接执行抛出表不存在的异常,所以用管理员登入)
SELECT d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||
p.spid || '.trc' trace_file_name
from (select p.spid
from sys.v$mystat m, sys.v$session ......
----查看所有角本
Create table #y (txt text)
select name, iid = identity(int,1,1) into #x from SysObjects where xtype = 'TR'
declare @i int, @max int
declare @name varchar(40)
set @i = 1
select @max = max(iid) from #x
while @i <= @max
begin
select @name = name from #x where iid = @i
insert #y (txt)
exec('sp_helptext ' + @name)
set @i = @i + 1
end
select * from #y
drop table #x
drop table #y
......
C-#入门经典(第三版).pdf
using System;
using System.Data;
using System.Data.SqlClient;
namespace My_Student
{
static class Program
{
static void Main()
{
//连接字符串,连接本地的MS SQL Server服务器
string connString = "data source=MICROSOF-84BB45;persist security info=False;initial catalog=MyDB;integrated security=SSPI;";
//SQL语句,删除记录
string sqlString = "delete from Courses where CourseNo='001'";
//建立连接对象
......
C-#入门经典(第三版).pdf
using System;
using System.Data;
using System.Data.SqlClient;
namespace My_Student
{
static class Program
{
static void Main()
{
//连接字符串,连接本地的MS SQL Server服务器
string connString = "data source=MICROSOF-84BB45;persist security info=False;initial catalog=MyDB;integrated security=SSPI;";
//SQL语句,删除记录
string sqlString = "delete from Courses where CourseNo='001'";
//建立连接对象
......
按指定次数重复字符表达式。
语法
REPLICATE ( character_expression, integer_expression)
参数
character_expression
字符数据型的字母数字表达式,或者可以隐式转换为 nvarchar 或 ntext 的其他数据类型的字母数字表达式。
integer_expression
可以隐式转换为 int 的表达式。如果 integer_expression 为负,将返回空字符串。
返回值
nvarchar 或 ntext
1 :Select Replicate('abc',2) ----------------abcabc
2 :Select Replicate('abc',-2) ----------------null
3 :Select Replicate('abc',0)--------------- 无
......