⑴ 如何在代码中实现sql触发器的功能
先给你举个触发器的实例:
先创建两个表
Create Table Student( --学生表
StudentID int primary key, --学号
....
)
Create Table BorrowRecord( --学生借书记录表
BorrowRecord int identity(1,1), --流水号
StudentID int , --学号
BorrowDate datetime, --借出时间
ReturnDAte Datetime, --归还时间
...
)
创建触发器
Create Trigger truStudent
On Student --在Student表中创建触发器
for Update --为什么事件触发,在这里就是修改的时候会执行这个触发器,一旦你修改Student表,就会执行
As --事件触发后所要做的事情
if Update(StudentID)
begin
Update BorrowRecord
Set StudentID=i.StudentID
From BorrowRecord br , Deleted d ,Inserted i --Deleted和Inserted临时表
Where br.StudentID=d.StudentID
end
⑵ SQL代码如何实现数据合并
select c1 ,c2,c3 from table1
union ---或 union all
select c1,c2,c3 from table2
⑶ 编写T-SQL代码,实现以下功能:
--下列写法参考下,延迟暂时不好控制
SELECTCONVERT(VARCHAR(100),GETDATE(),120)+',今天'+DATENAME(weekday,GETDATE())
DECLARE@SUMINT--总和
DECLARE@RINT--随机数
DECLARE@NEXTINT--循环次数
SET@NEXT=100
SET@SUM=0
WHILE@NEXT>0
BEGIN
SET@R=CAST(RAND()*100+1ASINT)
IF@R%3=0
SET@SUM=@SUM+@R
IF@SUM>1500
BREAK
SET@NEXT=@NEXT-1
END
SELECT@SUM
⑷ 用SQL怎么实现1+3+5+...+99代码的实现
这个用PL/SQL块可以实现
环境:
oracle10g+pl/sql
developer
declare
v_sum
number
:=
0;
--设置求总变量
begin
for
i
in
1
..
99
loop
v_sum
:=
v_sum
+
i;
end
loop;
dbms_output.put_line(v_sum);
--打印算出的总和
end;
⑸ 怎样用sql代码实现银行卡挂失功能
sql代码实现银行卡挂失功能其实只要更新下银行卡相关的status就可以了。当然更新status的时候会做很多的其他的动作,这个涉及业务层次的东西了。
updatebankaccount_detailsetstatus='2'wherebankaccount_code='XXXXXXXXX';
---status0=pending
---status1=active
---status2=lost
---........
⑹ C#怎么创建SQL Server数据库函数代码实现
创建数据库的关键是函数中的sql对象,通过该对象我们指定了数据库文件的一些基本属性。之后,我们新创建了一个SqlCommand对象,通过该对象我们就实际完成了对数据库的操作。函数的实现如下:
private void button1_Click(object sender, System.EventArgs e)
{
// 打开数据库连接
if( conn.State != ConnectionState.Open) conn.Open();
string sql = "CREATE DATABASE mydb ON PRIMARY" +"(name=test_data,filename = ‘C:\\mysql\\mydb_data.mdf’, size=3," +"maxsize=5,filegrowth=10%)log on" +"(name=mydbb_log,filename=‘C:\\mysql\\mydb_log.ldf’,size=3," +"maxsize=20,filegrowth=1)";
cmd = new SqlCommand(sql, conn);
try
{
cmd.ExecuteNonQuery();
}
catch(SqlException ae)
{
MessageBox.Show(ae.Message.ToString());
}
}
创建了数据库后,我们得为其创建表,表是数据库中的基本对象。我们通过CREATE TABLE这句SQL语句完成创建表的操作,表被创建后,我们就确定了其模式(Schema)。之后,我们还通过INSERT语句向该表中添加了四条记录以为后用。函数的实现如下:
private void button2_Click(object sender, System.EventArgs e)
{
// 打开数据库连接
if( conn.State == ConnectionState.Open) conn.Close();
ConnectionString ="Integrated Security=SSPI;" + "Initial Catalog=mydb;" + "Data Source=localhost;";
conn.ConnectionString = ConnectionString;
conn.Open();
sql = "CREATE TABLE myTable"+ "(myId INTEGER CONSTRAINT PKeyMyId PRIMARY KEY,"+ "myName CHAR(50),
myAddress CHAR(255), myBalance FLOAT)";
cmd = new SqlCommand(sql, conn);
try
{
cmd.ExecuteNonQuery();
// 向表中添加记录
sql = "INSERT INTO myTable(myId, myName, myAddress, myBalance) "+ "VALUES (1001, ‘Puneet Nehra’, ‘A 449 Sect 19, DELHI’, 23.98 ) " ;
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
sql = "INSERT INTO myTable(myId, myName,myAddress, myBalance) "+ "VALUES (1002, ‘Anoop Singh’, ‘Lodi Road, DELHI’, 353.64) " ;
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
sql = "INSERT INTO myTable(myId, myName, myAddress, myBalance) "+ "VALUES (1003, ‘Rakesh M’, ‘Nag Chowk, Jabalpur M.P.’, 43.43) " ;
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
sql = "INSERT INTO myTable(myId, myName, myAddress, myBalance) "+ "VALUES (1004, ‘Madan Kesh’, ‘4th Street, Lane 3, DELHI’, 23.00) " ;
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
}
catch(SqlExceptionae)
{
MessageBox.Show(ae.Message.ToString());}}
完成此操作后,我们可以在本机的SQL Sever企业管理器中打开mydb数据库并找到该表了。
⑺ 怎么用代码实现sql server 2008自动备份数据库
1.在电脑开始菜单中选择“sql
server
management
studio”双击。在出现的界面中点击“连接”按钮。
2.“
microsoft
sql
server
management
studio”界面中选择“管理”下的“维护计划”右击维护计划,点击“维护计划向导”,
3.“sql
server维护计划向导”界面中点击“下一步”
4.在出现的界面中把名称和说明写上。然后点击“更改”设顶备份计划
5.“作业计划属性”界面中,更改执行时间,也就是多久备份一次。这里该为每天备份。间隔时间更改为“1”更改执行一次时间为0:00:00也就是在每天的0点自动备份数据。
6.更改好以后,就可以在下面看到“在每天的
0:00:00
执行。将从
2014-5-16
开始使用计划。”然后点击“下一步”按钮
7.选择维护任务界面中选择要备份的数据库文件。然后点击下一步。
8.选择维护任务顺序中,可以移动要备份的数据库文件的顺序。然后点击“下一步”
9.定义“备份数据库完整”界面中,选择数据库后面下拉菜单中的数据库文件。然后点击“确定”按钮
10.定义“备份数据库完整”界面里选择备份路径。然后点击“下一步”
11.“选择报告选项”界面中设置好“报告文本文件”的路径。然后点击“下一步”
12.出现的“完成该向导”界面中会看到设置备份的详细信息。
13.这样数据库自动备份就成功了
⑻ SQL代码的实现
如果你全部都用and的话.就没有必要加那个小括号.
因为它们都是并列关系.
如果你某几个条件是用or连接.而这几个条件是和其它条件并列的.那么这时候你应该给那几个用or连接的条件加小括号.
你仔细体会一下and和or.然后判断你哪里该用or.哪里该用and.
and:两个条件必须都满足.
or:只需要满足其中一个就OK.
⑼ 用sql语言实现下列功能的sql语句代码
1. 创建数据库 学生成绩数据库 代码
create database 库名
on primary
(
name='名字',
filename='物理存储路径',
size=5mb, 大小
filegrowth=10% 增长量
),
(
ndf文件 语法和MDF一样
)
log on
(
ldf文件 语法同上
)
2. 创建数据表 课程信息表 代码
课程信息表(课号char(6),名称)
要求使用:主键(课号),非空(名称)
use 数据库名
create table subjectInfo
(
subjectId char(6) constraint PK_subjectId primary key
subjectName varchar(20) not null
)
3.创建数据库 学生信息表 代码
学生信息表(学号char(6),姓名,性别,民族,身份证号)
要求使用:主键(学号),默认(民族),非空(民族。姓名),唯一(身份证号),检查(性别)
create table studentInfo
(
studentId char(6) constraint PK_studentID primary key
studentName varchar(20) not null
sex varchar(4) constraint CK_sex check(sex='男' or sex='女')
nation varchar(10) constraint DF_ default('汉族') not null
ID(突然忘记身份证号怎么拼了) varchar(30) constraint UQ_ID unique(id)
)
4.常见数据表 成绩信息表
成绩信息表(id,学号,课号,分数)
要求实用:外间(学号,课号),检查(分数),自动编号(id)
create table score
(
id int identity(1,1)
stuId char(6) constraint FK_stuID foreign key references studentInfo(studentID)
subjectID char(6) constraint FK_subjectID foreign key references subjectInfo(subjectId)
score int constraint CK_score check(score>0 and score<101)
)
5.将下列课程信息添加到课程信息表的代码
课号 名称
100101 西班牙语
100102 大学英语
修改 课号为100102的课程名称: 专业英语
删除 课号为100101的课程信息
insert subjectInfo values ('100101','西班牙语')
insert subjectInfo values ('100102','大学英语')
update subjectInfo set subjectName='专业英语' where subjectID='100102'
delete from subjectInfo where subjectID='100101'
6. 创建视图 成绩信息表视图 的代码
成绩信息表视图(学号,姓名,课号,课程名称,分数)
create view v_score
as
select 学号=studentInfo.studentID,姓名=studentInfo.studentName,课号=score.subjectId,课程名称=subjectInfo.subjectName,分数=score.score from score inner join studentInfo on score.stuID=studentInfo.studentId inner join subjectInfo on score.subjectId=subjectInfo.subjectID
累了 剩下几题待会来写
⑽ SQL中怎样可以用代码实现导出excel
下列方法可将SQL数据导出的Excel中:
1、导入到一个存在的Excel文件,且表头已经设置:
insert
into
OPENROWSET('MICROSOFT.ACE.OLEDB.12.0','Excel
12.0;HDR=YES;DATABASE=c:\book1.xlsx',sheet1$)
select
*
from
表。
2、导入为新文件:
EXEC
master..xp_cmdshell
'bcp
数据库名.dbo.表名
out
"c:\book1.xls"
/c
-/S"服务器名"
/U"用户名"
-P"密码"'。
或
EXEC
master..xp_cmdshell
'bcp
"SELECT
*
FROM
数据库名.dbo.表名
ORDER
BY
某字段"
queryout
"c:\book1.xls"
/c
-/S"服务器名"
/U"用户名"
-P"密码"'。