问题描述:有以下2张表,
表A
0_id 0_name 0_Salary
Y2007001 达哥 3666
Y2007002 小杜 4888
Y2007003 达哥 3666
表B
a_id a_salary
Y2007001 333
Y2007002 444
Y2007003 555
现在希望得到这样的数据表A里的O_Saloary加上表B的A_Sala ......
1、定义指令集:using System.Data.SqlClient;
2、定义sql连接: SqlConnection conn= new SqlConnection("server=(local);database=colorring;uid=sa;pwd=;");
3、打开sql连接: conn.Open();
4、定义sql语句:string sqlstr = "insert into test values (123321)";
5、组装sql语句和连接:SqlCommand cmd = new SqlCommand(sqlstr,conn);
6、执行sql命令:int result=cmd.ExecuteNonQuery();
7、关闭sql连接:conn.Close();
8、显示更新的数量: Label1.Text =Convert.ToString(result);
代码如下:
using System.Data.SqlClient;
SqlConnection conn= new SqlConnection("server=(local);database=colorring;uid=sa;pwd=;");
conn.Open();
string sqlstr = "insert into test values (123321)";
SqlCommand cmd = new SqlCommand(sqlstr,conn);
int result=cmd.Execute ......
1.如何将一个SQL Server表的结构复制到另一个新建的表中
select * into 新表 from 旧表 where 0 = 1
2.修改字段默认值
alter table 表名 add default 默认值 for 字段名
3. 取得数据库结构
SELECT name from sysdatabases
4.增加列
alter table 表名 add 新字段 字段类型 NULL
ALTER TABLE<表名>
[ADD<新列名><数据类型>[完整性约束]]
[DROP<完整性约束名>]
[MODIFY<列名><数据类型>];
新增的字段对于表中已经存在的行而言最初将先填充空值。
你也可以同时在该字段上定义约束,使用通常的语法:
ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
一个新字段不能用非空约束,因为最初的时候该字段必须包含空值。 但是你可以稍后增加一个非空约束。同样,你也不能在一个新字段 上定义缺省值。根据 SQL 标准的说明,这样需要对现存行的新 字段填充缺省值,而这个特性还没有实现。但是你可以稍后调整 字段缺省。
5.如何将一个库中的表导入到另一个库中呢
& ......
以下说明均针对企业版或者开发版;
1.开启sql server 实例的远程连接;
“开始”-->“程序”-->“Microsoft SQL Server 2005”-->“配置工具”-->“SQL Server 外围应用配置器”-->“服务和连接的外围应用配置器”-->“数据库引擎”-->"远程连接"-->“本地连接和远程连接”-->单击适用于您的环境的相应协议(仅使用tcp/ip)
2.开启SQL Server Browser服务和SQL Server Agent 服务
控制面板-->管理工具-->服务-->启动该该两个服务
3.关闭防火墙(也可以配置),配置见下文。
http://support.microsoft.com/kb/914277/zh-cn
......
Create PROCEDURE [dbo].[ChangeObjectOwner]
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS
DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)
DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name
OPEN curObject
FETCH NEXT from curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner +'.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
FETCH NEXT from curObject INTO @Name, @Owner
END
close curObject
deallocate curObject
------------------------
说明:以上代码只需要在存储过程中新建执行即可,但是第一次执行回出现警告和错误说明,
如果你的asp.net程序执行出现以下类似错误,那说明你的现有的试图或存储过程中的表对象没有改过来,需要修改视图或者存储过程;
对象名 'wzuhll.Ho ......
标准的 SQL 的解析顺序为:
(
1
).
from
子句, 组装来自不同数据源的数据
(
2
).
WHERE
子句, 基于指定的条件对记录进行筛选
(
3
).
GROUP
BY
子句, 将数据划分为多个分组
(
4
).使用聚合函数进行计算
(
5
).使用
HAVING
子句筛选分组
(
6
).计算所有的表达式
(
7
).使用
ORDER
BY
对结果集进行排序
select
*
,row_number()
over
(
order
by
productname)
as
rownumber
from
products
where
rownumber
between
10
and
20
--
这边还没产生rownumber 就引用了
......