
不需要sp。
如果是一次性修改,直接UPDATE;
----------------------
UPDATE TableA SET
Status = 2
WHERE Item = '10'
如果是每条记录录入时变更,写Trigger。
语句相似
在实际的工作中,数据库管理员(dba)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要dba自行手工进行清理。
下面的sql语句列出当前数据库建立的会话情况:
select
sid,serial#,username,program,machine,status
from
v$session;
输出的结果:
sid
serial#
username
program
machine
status
----
-------
----------
-----------
---------------
--------
1
1
oracleexe
work3
active
2
1
oracleexe
work3
active
3
1
oracleexe
work3
active
4
1
oracleexe
work3
active
5
3
oracleexe
work3
active
6
1
oracleexe
work3
active
7
1
oracleexe
work3
active
8
27
sys
sqlplusexe
workgroup\work3
active
11
5
dbsnmp
dbsnmpexe
workgroup\work3
inactive
其中sid
会话(session)的id号;
serial#
会话的序列号,和sid一起用来唯一标识一个会话;
username
建立该会话的用户名;
status
当前这个会话的状态,active表示会话正在执行某些任务,inactive表示当前会话没有执行任何 *** 作;
假如要手工断开某个会话,则执行:
alter
system
kill
session
'sid,serial#';注意:在上面的示例中,sid为1到7(username列为空)的会话,它是oracle数据库的后台进程,请大家不要对这些会话进行任何 *** 作。
ubuntu下mysql的常用命令,MySQL数据库的基本 *** 作命令
一、mysql服务 *** 作
0、查看数据库版本 sql-> status;
1、net start mysql //启动mysql服务
2、net stop mysql //停止mysql服务
3、mysql
-h主机地址 -u用户名 -p用户密码 //进入mysql数据库
4、quit //退出mysql *** 作
5、mysqladmin -u用户名
-p旧密码 password 新密码 //更改密码
6、grant select on 数据库 to 用户名@登录主机 identified by
"密码" //增加新用户
exemple:
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的 *** 作
(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据
库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb to
test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant
select,insert,update,delete on mydb to test2@localhost identified by "";
二、数据库 *** 作
1、show databases; //列出数据库
2、use
database_name //使用database_name数据库
3、create database data_name
//创建名为data_name的数据库
4、drop database data_name //删除一个名为data_name的数据库
三、表 *** 作
1、show databases;//列出所有数据库
use 数据库名;
//到达某一数据库
show tables //列出所有表
create table tab_name(
id int(10)
not null auto_increment primary key,
name varchar(40),
pwd varchar(40)
) charset=gb2312; 创建一个名为tab_name的新表
2、drop table tab_name
删除名为tab_name的数据表
3、describe tab_name //显示名为tab_name的表的数据结构
4、show
columns from tab_name //同上
5、delete from tab_name //将表tab_name中的记录清空
6、select from tab_name //显示表tab_name中的记录
7、mysqldump -uUSER -pPASSWORD
--no-data DATABASE TABLE > tablesql //复制表结构
四、修改表结构
1、 ALTER TABLE tab_name ADD PRIMARY KEY (col_name)
说明:更改表得的定义把某个栏位设为主键。
2、ALTER TABLE tab_name DROP PRIMARY KEY (col_name)
说明:把主键的定义删除
3、 alter table tab_name add col_name varchar(20);
//在tab_name表中增加一个名为col_name的字段且类型为varchar(20)
4、alter table tab_name drop
col_name //在tab_name中将col_name字段删除
5、alter table tab_name modify col_name
varchar(40) not null //修改字段属性,注若加上not null则要求原字段下没有数据
SQL
Server200下的写法是:Alter Table table_name Alter Column col_name varchar(30) not
null;
6、如何修改表名:alter table tab_name rename to new_tab_name
7、如何修改字段名:alter table tab_name change old_col new_col varchar(40);
//必须为当前字段指定数据类型等属性,否则不能修改
8、create table new_tab_name like old_tab_name
//用一个已存在的表来建新表,但不包含旧表的数据
五、数据的备份与恢复
导入外部数据文本:
1执行外部的sql脚本
当前数据库上执行:mysql < inputsql
指定数据库上执行:mysql [表名] <
inputsql
2数据传入命令 load data local infile "[文件名]" into table [表名];
备份数据库:(dos下)
mysqldump --opt school>schoolbbb
mysqldump -u
[user] -p [password] databasename > filename (备份)
mysql -u [user] -p
[password] databasename < filename (恢复)
DROP TRIGGER IF EXISTS update_on_tab1;
CREATE TRIGGER update_on_tab1
AFTER upate ON tab1
FOR EACH ROW
BEGIN
if (newstatus=2) then
update tab1 set flag=1 where id=newid;
end if;
END;
删除本触发器
drop trigger update_on_tab1;
以上就是关于求SQL存储过程。数据库A 字段code, status , ltem,name当字段ltem为10的时候status由默认写入的1变为2.全部的内容,包括:求SQL存储过程。数据库A 字段code, status , ltem,name当字段ltem为10的时候status由默认写入的1变为2.、如何查看数据库当前的状态、ubuntu下怎样 *** 作mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)