sql server 2008 一个数据库如何获取另一个数据库中的数据

sql server 2008 一个数据库如何获取另一个数据库中的数据,第1张

(1)启动Microsoft

SQL

Server

Management

Studio程序

(2)按提示 *** 作进入系统

(3)选择那个建好表的数据库

(4)点击鼠标右键,会d出一个菜单,选择菜单命令:任务/导出数据

(5)按画面提示一步步 *** 作,选择好服务器的名称,源数据库和目标数据库,就可以将数据表导出到另一个数据库

Adodc1RecordSource = "select from Table1" 'Adodc1是一个用来绑定数据库的控件,RecordSource是他的一个属性,用来指定所用的记录源,这里记录源是一个select的SQL查询语句 Adodc1Refresh '刷新记录源,一般绑定后不会立即显示,需要刷新 If Adodc1RecordsetRecordCount > 0 Then '如果记录源的行数大于零,也就是不为空的意思 Do While Adodc1RecordsetEOF = False 'DO While 。。。。loop 是一个循环语句, Adodc1RecordsetEOF = False 是他的循环条件,意思是记录源不到最后,则循环继续 MS1TextMatrix(MS1Row, 0) = Adodc1RecordsetFields("学号") '用记录源给MsflexGrid赋值,也算是绑定的意思吧,MS1Row是一个行的变量,0是第一列(依此类推,1是第二列),意思是MsflexGrid的当前行第一列数据是记录集中的 学号 字段的值 MS1TextMatrix(MS1Row, 1) = Adodc1RecordsetFields("姓名") '解释同上 MS1TextMatrix(MS1Row, 2) = Adodc1RecordsetFields("性别") '解释同上 MS1TextMatrix(MS1Row, 3) = Adodc1RecordsetFields("年龄") '解释同上 MS1TextMatrix(MS1Row, 4) = Adodc1RecordsetFields("籍贯") '解释同上 MS1TextMatrix(MS1Row, 5) = Adodc1RecordsetFields("班级") '解释同上 MS1TextMatrix(MS1Row, 6) = Adodc1RecordsetFields("学校") '解释同上 MS1TextMatrix(MS1Row, 7) = Adodc1RecordsetFields("备注") '解释同上 MS1Row = MS1Row + 1 '所 *** 作的表格行数自动加1,也就是下移一行 Adodc1RecordsetMoveNext '记录集的指针下移一行 LOOP '继续循环,达到退出循环条件时就会退出,条件是前面继续循环条件的否定,也就是到达记录集最后一条 END IF 'IF语句结束

1、打开源数据文件,把首行中的对应的数据,复制行到空白位置。

2、选中J2单元格,单击编辑栏中的"插入函数“,如图示。

3、d出”插入函数“对话框,设置其类别为”逻辑“,并选择列表框中的IF选项。然后确定。

4、在d出的”函数参数“对话框中,设置Logical_test参数为”I2=“”,将Value_if_true设置为“”,即空白内容。

将Value_if_false参数框中输入“VLOOKUP(I2,A2:B2846,2),然后确定。

5、选中J2单元格,注意是J2,不是I2哦(I2是输入证券代码的地方),鼠标移动到单元格右下角,出现十字光标时,按住鼠标左键向右拖动到O2单元格。如图

6、这个时候会发现原来源数据中的C2-G2单元格中的内容就会自动填充到K2-O2单元格中。这个时候,如需要的数据是按源数据中的数据从上 到下排列的,就可以不用修改了。直接重复第5步中的方法,把J2-O2每个单元格下拉填充就完成了。如图示,先把需要的数据列复制到I列中,然后依次下拉 填充。

7、但有时候,需要的不是按照源数据中的排序,比如说,现用的这个例子,如果在I3中,输入000002就会出错。如图示。

8,这是j3中的函数为VLOOKUP(I3,A3:B2847,2)),也就是搜索从A3到B2487区域中 的内容。没有包含A2,所以我们输入000002在源数据中找不到。所以使用这个方法前,要先对需要的数据按源数据进行排序。不然,是不准确的。

取得视图的方法 系统存储过程 USE xxx EXEC sp_help 或者 获取指定数据库的视图: USE DBAudit SELECT sysobjectsname AS name, sysusersname AS owner FROM sysobjects LEFT JOIN sysusers ON sysobjectsuid = sysusersuid WHERE type = 'V' 获取指定数据库的视图的内容: EXEC sp_helptext xxxObject 取得存储过程的方法 系统存储过程 USE xxx EXEC sp_help 或者 获取指定数据库的存储过程或者扩展存储过程: USE DBAudit SELECT sysobjectsname AS name, sysusersname AS owner, type FROM sysobjects LEFT JOIN sysusers ON sysobjectsuid = sysusersuid WHERE type = 'P' OR type = 'X' 获取指定数据库的存储过程或者扩展存储过程的内容: EXEC sp_helptext xxxObject 无法获取加密的存储过程。扩展存储过程只能得到dll 程序名。 取得函数的方法 系统存储过程 USE xxx EXEC sp_help 或者 获取指定数据库的各种函数(内嵌函数等): USE DBAudit SELECT sysobjectsname AS name, sysusersname AS owner, type FROM sysobjects LEFT JOIN sysusers ON sysobjectsuid = sysusersuid WHERE type = 'FN' OR type = 'IF' OR type = ‘TF’ 获取指定数据库的函数的内容: EXEC sp_helptext xxxObject 只能获取用户定义的函数内容。 取得触发器的方法 系统存储过程 USE xxx EXEC sp_helptrigger xxxTable 或者 获取指定数据库的表的触发器: SELECT sysobj1name AS name, sysusersname AS owner FROM sysobjects AS sysobj1 LEFT JOIN sysobjects AS sysobj2 ON sysobj1parent_obj = sysobj2id LEFT JOIN sysusers ON sysobj1uid = sysusersuid WHERE sysobj1type = 'TR'AND sysobj2name = 'xxxTable' 取得索引的方法 系统存储过程 USE xxx EXEC sp_helpindex xxxTable 用户 系统存储过程 USE xxx EXEC sp_helpuser 角色 系统存储过程 USE xxx EXEC sp_helprole 第二部分: 对于oracle 而言: ORACLE 只能连接特定数据库,不能自动扫描数据库对象。ORACLE 表必须用用户来区别,否则表可能重名。ORACLE 不能区别系统表或者是用户表,因此只能由管理员选择扫描某些特定用户的表。 取得数据库名的方法 只能由用户指定数据库,不能自动扫描到特定数据库服务器上的所有数据库。 取得表的方法 存储数据库表的系统表/视图主要有: DBA_ALL_TABLES 描述数据库中有的对象以及相关的表。 ALL_ALL_TABLES 描述数据库中所有的用户可以访问的对象以及相关的表。 USER_ALL_TABLES 描述数据库中当前用户拥有的对象以及相关的表。 DBA_ TABLES 描述数据库中所有相关的表。 ALL_ TABLES 描述数据库中所有的用户可以访问的相关的表。 USER_ TABLES 描述数据库中当前用户拥有的相关的表。 因此,可以从ALL_TABLES 中取得隶属于指定用户的表: SELECT TABLE_NAME FROM SYSALL_TABLES WHERE OWNER = 'DBAUDIT'; 取得隶属于指定表空间的表: SELECT TABLE_NAME FROM SYSALL_TABLES WHERE TABLESPACE_NAME = 'DBAUDIT'; 也可以不指定用户名,从而取得所有的表。 SELECT TABLE_NAME FROM SYSALL_TABLES; 取得列的方法 存储数据库表的列属性的系统表/视图主要有: DBA_TAB_COLUMNS 描述数据库中所有的表的列属性。 ALL_TAB_COLUMNS 描述数据库中所有的用户可以访问的表的列属性。 USER_TAB_COLUMNS 描述数据库中当前用户拥有的表的列属性。 ALL_TAB_COLS 描述数据库中所有的用户可以访问的表的列属性。 因此,可以从ALL_TAB_COLUMNS 中取得隶属于指定用户的表: SELECT COLUMN_NAME FROM SYSALL_TAB_COLUMNS WHERE TABLE_NAME = 'TASK' AND OWNER = 'DBAUDIT'; 取得视图的方法 存储数据库视图的系统表/视图主要有: DBA_VIEWS 描述数据库中所有的视图的属性。 ALL_VIEWS 描述数据库中所有的用户可以访问的视图的属性。 USER_VIEWS 描述数据库中所有的当前用户拥有视图的属性。 因此,可以从ALL_VIEWS 中取得隶属于指定用户的视图: SELECT VIEW_NAME FROM SYSALL_VIEWS WHERE OWNER = 'DBAUDIT'; 取得存储过程的方法 存储系统对象的系统表/视图有: DBA_OBJECTS 描述数据库中所有的对象。 ALL_OBJECTS 描述数据库中所有的可以访问的对象。 USER_OBJECTS 描述数据库中所有的当前用户拥有的对象。 SYS_OBJECTS 描述数据库中所有的系统对象。 对象类型有: CONSUMER GROUP CONTEXT DIRECTORY FUNCTION INDEX INDEX PARTITION INDEXTYPE JAVA CLASS JAVA DATA JAVA RESOURCE JAVA SOURCE LIBRARY LOB MATERIALIZED VIEW OPERATOR PACKAGE PACKAGE BODY PROCEDURE QUEUE SEQUENCE SYNONYM TABLE TABLE PARTITION TRIGGER TYPE TYPE BODY VIEW 因此,取得存储过程可以用: SELECT OBJECT_NAME FROM SYSALL_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE'; 取得隶属于某个用户的存储过程可以用: SELECT OBJECT_NAME FROM SYSALL_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE' AND OWNER = ‘DBAUDIT’; 同样,取得其他的对象也可以用这个方法,包括表,视图等。 取得存储过程内容的方法 对象类型为类型、类型体、过程、函数、包、包体,JAVA 源代码的所有对象的源代码都存储在几个系统表/视图中: DBA_SOURCE 存储所有数据库对象的源代码。 ALL_SOURCE 存储所有可以访问的数据库对象的源代码。 USER_SOURCE 存储所有当前用户拥有的数据库对象的源代码。 因此,取得存储过程源代码的方法: SELECT TEXT FROM SYSALL_SOURCE WHERE NAME = ‘XXX’ AND TYPE = ‘PROCEDURE’; 取得函数的方法 同上,取得函数可以用: SELECT OBJECT_NAME FROM SYSALL_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION'; 取得隶属于某个用户的函数可以用: SELECT OBJECT_NAME FROM SYSALL_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION' AND OWNER = 'DBAUDIT'; 取得函数内容可以用: SELECT TEXT FROM SYSALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'FUNCTION'; 取得触发器的方法 存储数据库触发器的系统表/视图主要有: DBA_TRIGGERS 描述数据库中所有的触发器的属性。 ALL_ TRIGGERS 描述数据库中所有的用户可以访问的触发器的属性。 USER_ TRIGGERS 描述数据库中所有的当前用户拥有触发器的属性。 因此,可以从ALL_TRIGGERS 中取得隶属于指定用户的触发器: SELECT TRIGGER_NAME FROM SYSALL_TRIGGERS WHERE OWNER = 'DBAUDIT'; 取得触发器内容的方法: SELECT TRIGGER_BODY FROM SYSALL_TRIGGERS WHERE TRIGGER_NAME = 'XXX'; 取得索引的方法 存储数据库索引的系统表/视图主要有: DBA_INDEXES 描述数据库中所有的索引的属性。 ALL_INDEXES 描述数据库中所有的用户可以访问的索引的属性。 USER_INDEXES 描述数据库中所有的当前用户拥有索引的属性。 因此,可以从ALL_ INDEXES 中取得隶属于指定用户的索引: SELECT INDEX_NAME,TABLE_NAME FROM SYSALL_INDEXES WHERE OWNER = 'DBAUDIT'; 取得索引相关的列的方法: SELECT COLUMN_NAME FROM SYSALL_IND_COLUMNS WHERE INDEX_NAME = 'XXX' AND TABLE_OWNER = 'DBAUDIT'; 用户 存储数据库用户的系统表/视图主要有: DBA_USERS 描述数据库中所有的用户的属性。 ALL_USERS 描述数据库中所有的用户的属性。 USER_USERS 描述数据库中当前用户的属性。 因此,可以从ALL_USERS 中取得用户: SELECT USER_ID, USERNAME FROM SYSALL_USERS; 角色 存储角色的表/视图有: DBA_ROLES 描述数据库中所有角色。 取得角色方法: SELECT ROLE FROM SYSDBA_ROLES; 表空间 SELECT TABLESPACE_NAME FROM SYSDBA_TABLESPACES; 数据文件 SELECT FILE_NAME, FILE_ID, TABLESPACE_NAME FROM SYSDBA_DATA_FILES; 数据库连接 存储数据库连接的系统表/视图主要有: DBA_LINKS 描述数据库中所有的连接的属性。 ALL_LINKS 描述数据库中所有的用户可访问的连接的属性。 USER_LINKS 描述数据库中当前用户的连接属性。 因此,可以从DBA_DB_LINKS 中取得连接: SELECT FROM SYSDBA_DB_LINKS; 同义词 SELECT FROM SYSALL_SYNONYMS WHERE TABLE_OWNER = 'DBAUDIT'; 程序包 取得程序包可以用: SELECT OBJECT_NAME FROM SYSALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE'; 取得隶属于某个用户的程序包可以用: SELECT OBJECT_NAME FROM SYSALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE' AND OWNER = 'DBAUDIT'; 取得程序包内容可以用: SELECT TEXT FROM SYSALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'PACKAGE'; 程序包体 取得程序包体可以用: SELECT OBJECT_NAME FROM SYSALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE BODY'; 取得隶属于某个用户的程序包可以用: SELECT OBJECT_NAME FROM SYSALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE BODY ' AND OWNER = 'DBAUDIT'; 取得程序包内容可以用: SELECT TEXT FROM SYSALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'PACKAGE BODY '; 第三部分: 简单点的还有。 返回所有列名 select name from syscolumns where id=object_id('表名') 查所有表名 select from INFORMATION_SCHEMATABLES =================================== sp_tableoption N'MyTable', 'text in row', 'OFF' Sybase 取得数据库名的方法 系统存储过程sp_helpdb 或者 USE master SELECT dname dbname, uname owner FROM sysdatabases d, sysusers u WHERE dsuid = usuid 取得表的方法 系统存储过程 USE xxx EXEC sp_help 或者 获取指定数据库的用户表: USE DBAudit SELECT sysobjectsname AS tname, sysusersname AS owner FROM sysobjects, sysusers WHERE sysobjectsuid = sysusersuid AND type = 'U' 获取指定数据库的系统表: USE DBAudit SELECT sysobjectsname AS tname, sysusersname AS owner FROM sysobjects, sysusers WHERE sysobjectsuid = sysusersuid AND type = 'S' 或者统一使用: USE DBAudit SELECT sysobjectsname AS tname, sysusersname AS owner FROM sysobjects, sysusers WHERE sysobjectsuid = sysusersuid AND (type = 'U' OR type = 'S') 注: sysobjects 中type 字段类型解释: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K) V = 视图 X = 扩展存储过程 取得列的方法 系统存储过程 USE xxxDatabase EXEC sp_help xxxTable 取得视图的方法 系统存储过程 USE xxx EXEC sp_help 或者 获取指定数据库的视图: USE xxx SELECT sysobjectsname AS name, sysusersname AS owner FROM sysobjects, sysusers WHERE sysobjectsuid = sysusersuid AND type = 'V' 获取指定数据库的视图的内容: EXEC sp_helptext xxxObject 取得存储过程的方法 系统存储过程 USE xxx EXEC sp_help 或者 获取指定数据库的存储过程或者扩展存储过程: USE xxx SELECT sysobjectsname name, sysusersname owner FROM sysobjects, sysusers WHERE sysobjectsuid = sysusersuid AND (type = 'P' OR type = 'X') 获取指定数据库的存储过程或者扩展存储过程的内容: EXEC sp_helptext xxxObject 无法获取加密的存储过程。扩展存储过程只能得到dll 程序名。 取得函数的方法 Sybase 不支持用户定义函数。

以上就是关于sql server 2008 一个数据库如何获取另一个数据库中的数据全部的内容,包括:sql server 2008 一个数据库如何获取另一个数据库中的数据、从数据库中获得表中的数据、EXCEL从数据库提取数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9468247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存