Oracle和SqlServer系统表操作差异对比

来源:未知 责任编辑:责任编辑 发表时间:2014-03-23 22:30 点击:
一、 Oracle知识点记录
1. 存放所有对象的视图 all_objects
2. 存放所有表的字段的视图 all_tab_columns
3. 在命令行下执行脚本时记录执行日志?
4. 出现“ORA-12704: 字符集不匹配”的错误,可以尝试在字符串前添加一个“N”解决
5. 出现“ORA-00932”的错误,可以尝试将Clob类型通过to_char函数转换为char类型解决
6. 判断字符串是否为空的方法:if str is null;而不是 if str=’’
二、 常用系统表对比
对象
SQLSERVER
ORACLE
查询所有表
select [name] from sysobjects where type='U' order by [name]
select OBJECT_NAME from obj where OBJECT_TYPE = 'TABLE' order by OBJECT_NAME
判断是否有自增长列
select COUNT(*) from syscolumns where id=object_id('Admin') and status=0x80
 
查找指定表的外键名称
SELECT s.name FROM sysobjects s WHERE s.parent_obj=object_id('{0}') AND (s.xtype='F' OR s.xtype='PK')
select constraint_name from user_constraints where table_name='{0}' and (constraint_type='P' or constraint_type='R')
判断指定的表是否有自增长列
select COUNT(*) from syscolumns where id=object_id('{0}') and status=0x80
select count(*) from dba_sequences where sequence_name like '{0}_%'
查询一个表的所有列名
select name from syscolumns where id=object_id(‘表名’)
select count(*) from syscolumns where id=object_id(‘表名’)
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = ‘T_PROPERTY’ ORDER BY COLUMN_ID
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = ‘T_PROPERTY’ ORDER BY COLUMN_ID
查询当前登录用户
  
select * from user_users
查询某个表中的主键字段名
SELECT name FROM SysColumns WHERE id=Object_Id('Area') and colid=(select top 1 colid from sysindexkeys where id=Object_Id('Area'))
select col.column_name
from user_constraints con,  user_cons_columns col
where con.constraint_name = col.constraint_name
and con.constraint_type=’P’
and col.table_name = ‘YourTableName’
对表的字段的增删改
  
-- 增加字段
alter table ADMIN add COLUMN4 varchar2(20);
--增加字段并设置默认值
alter table ADMIN add COLUMN5 timestamp default sysdate;
-- 修改字段为非空
alter table ADMIN modify COLUMN4 not null;
-- 修改数据类型
alter table ADMIN modify COLUMN4 number;
-- 既修改数据类型有修改字段非空
alter table ADMIN modify COLUMN4 number not null;
-- 增加默认值
alter table ADMIN modify COLUMN4 default 12;
编译/刷新视图(存储过程)
EXEC sp_refreshview @viewName;
--只能编译视图,不能起到刷新的效果,因为视图中的*被替换成了所有的字段了
ALTER VIEW vpage COMPILE;
ALTER PROCEDURE  gcps_execsql COMPILE;
三、 数据类型对照表
SqlServer
Oracle
  
ID
number
  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • sql常见面试题
  • SQL SERVER 2005性能之跟踪
  • SQL编程(一)
  • LINUX上RMAN自动备份脚本
  • sql server面试题
  • 如何将多个SQL查询统计结果一次显示出来
  • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
  • SQL小技巧系列 --- 行转列合并
  • sql server 列转行
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1