易截截图软件、单文件、免安装、纯绿色、仅160KB

在 MS SQL Server 中删除表

-- 说明:
-- 1. 要删除表 table_name, 须先判断该表是否正被数据库中其它表所引用.
-- 2. 如果未被引用, 可直接 DROP TABLE table_name; 否则必须先删除引用表的约束, 再 DROP TABLE table_name.
-- 3. 另外, table_name 是否正引用其它表的情况无须考虑.


-- 创建主表
CREATE TABLE tParent
(
tParent_Col1 int NOT NULL CONSTRAINT pkParent PRIMARY KEY,
tParent_Col2 nvarchar(50) NOT NULL CONSTRAINT uktParent UNIQUE
)

INSERT INTO tParent VALUES (1, N'ParentRecord1')
INSERT INTO tParent VALUES (2, N'ParentRecord2')
INSERT INTO tParent VALUES (3, N'ParentRecord3')
SELECT * from tParent
-- ===========================================

-- 创建从表 1
CREATE TABLE tChild1
(
tChild1_Col1 int NOT NULL CONSTRAINT fkChild1Parent FOREIGN KEY REFERENCES tParent (tParent_Col1),
tChild1_Col2 nvarchar(50) NOT NULL
)

INSERT INTO tChild1 VALUES (2, N'Child1Record1')
INSERT INTO tChild1 VALUES (3, N'Child1Record2')
INSERT INTO tChild1 VALUES (1, N'Child1Record3')
INSERT INTO tChild1 VALUES (2, N'Child1Record4')
SELECT * from tChild1
-- ===========================================

-- 创建从表 2
CREATE TABLE tChild2
(
tChild2_Col1 int NOT NULL,
tChild2_Col2 nvarchar(50) NOT NULL CONSTRAINT fkChild2Parent FOREIGN KEY REFERENCES tParent (tParent_Col2)
)

INSERT INTO tChild2 VALUES (11, N'ParentRecord2')
INSERT INTO tChild2 VALUES (22, N'ParentRecord1')
INSERT INTO tChild2 VALUES (33, N'ParentRecord3')
INSERT INTO tChild2 VALUES (44, N'ParentRecord3')
SELECT * from tChild2
-- ===========================================

-- 生成删除从表外键约束的 T-SQL 语句
-- 1. MS SQL Server 2000
DECLARE @stmt nvarchar(4000)
SELECT @stmt = ISNULL(@stmt + CHAR(13) + CHAR(10), '')
+ 'ALTER TABLE ' + OBJECT_NAME(fkeyid)
+ ' DROP CONSTRAINT ' + OBJECT_NAME(constid)
from sysforeignkeys
WHERE rkeyid = OBJECT_ID(N'tParent', N'U')

-- --


相关文档:

SQL Server 返回最后插入记录的id值

SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。
IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的 ......

时间差计算: SQL Server DATEDIFF() 函数

SQL Server DATEDIFF() 函数
定义和用法
DATEDIFF() 函数返回两个日期之间的天数。
语法
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:
datepart缩写

yy, yyyy
季度
qq, q

mm, m
年中的日
dy, y

dd, d

wk, ww
星期 ......

SQL UNION 和 UNION ALL操作符


SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
SELECT column_name(s) from table_name1
UNION
SELECT column_name(s) from table_na ......

【总结】oracle恢复误删除数据,解除锁定的等sql语句

1.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找到下面的语句恢复到了1个小时之前的数据!很简单。
注意使用管理员登录系统:
select * from 表名 as of timestamp sysdate-1/12 //查询两个小时前的某表数据!既然两小时以前的数据都得到了,继续怎么做,知道了吧。。

如果drop了表,怎么办??见下 ......

SQL Server连接远程数据源

SQL Server连接远程数据源的基本方法有下面三种:
OPENDATASOURCE
: The OPENDATASOURCE function is used to
specify connection information for a remote data source by specifying
the OLE DB provider and an initialization string. OPENDATASOURCE can be
used directly within a SELECT, INSERT, UPDATE, or ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号