方法步骤:
1、首先我们打开heidisql客户端,我们新建一个连接,如果连接的是sql server的数据库,要选择数据库的类型,端口号一般是1433如果是mysql的数据库,一般端口是3306,记住,别混了,输入用户名跟密码就能链接了。
2、打开数据库后,我们选择一个表来 *** 作,一般表都是在左侧的,我们依次展开,从数据库到表打开想要插入数据的表。
3、在这里选择数据打开,我这里用的是heidisql汉化版的,如果是英文版的应该是data才对。
4、在这个功能栏里,我们可以看见一个加号和一个减号,加号代表的是插入一条数据,二减号正好相反。
5、点击插入数据,卡你的鼠标在那个位置,它会在这个位置的下面一条记录插入一条记录。然后我们往里面输入数据,注意数据的类型,如果数据是time时间格式的,要按时间格式填写。
6、插入成功后会提示成功了,下面的记录也会跟着变色。
7、这里也可以用命令来插入,选择查询。
8、在这个命令的窗口,我们输入sql语句,然后点击上面的蓝色按钮,然后就会执行命令,执行成功会提示插入数据成功。
9、再返回表这边看,可以看到数据插入成功了。
对于 单表的视图, 插入/修改 数据是没有问题的。 (只要你不做特别的设置)
对于多表的视图, *** 作的时候,会存在一定的问题。
下面是一个例子:
1>CREATE VIEW v_main_sub AS
2>SELECT
3> test_main.id AS main_id,
4> test_main.value AS main_value,
5> test_sub.id AS sub_id,
6> test_sub.value AS sub_value
7>FROM
8> test_main, test_sub
9>WHERE
10> test_main.id = test_sub.main_id
11>go
1>SELECT * FROM v_main_sub
2>go
main_id main_value sub_id sub_value
----------- ---------- ----------- ----------
1 ONE 1 ONEONE
2 TWO 2 TWOTWO
(2 行受影响)
1>UPDATE v_main_sub
2>SET main_value='ONX'
3>WHERE main_id = 1
4>go
(1 行受影响)
1>UPDATE v_main_sub
2>SET sub_value='ONXONX'
3>WHERE main_id = 1
4>go
(1 行受影响)
1>DELETE FROM v_main_sub WHERE main_id = 1
2>go
消息 4405,级别 16,状态 1,服务器 GMJ-PC\SQLEXPRESS,第 1 行
视图或函数 'v_main_sub' 不可更新,因为修改会影响多个基表。
-- 这个触发器, 只测试输出, 不删除数据。
1>CREATE TRIGGER v_main_sub_trigger
2>ON v_main_sub
3>INSTEAD OF DELETE
4>AS
5>DECLARE
6> @main_id INT,
7> @sub_id INT
8>BEGIN
9> SELECT @main_id=main_id, @sub_id=sub_id FROM deleted
10>
11>
12> PRINT(@main_id)
13> PRINT(@sub_id)
14>END
15>go
1>DELETE FROM v_main_sub WHERE main_id = 1
2>go
1
1
(1 行受影响)
1>DELETE FROM v_main_sub WHERE sub_id = 1
2>go
1
1
(1 行受影响)
对于多表关联的视图, 删除的时候,需要人为的去判断
例如当 主表 和 子表,都只有一条记录的情况下。
无法判断 本次删除, 是要删除掉一个子表的记录,留下主表的。
还是 主表 子表的数据,一同删除。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)