SQL Server关于EXEC语句的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:55:02
我想通过存储过程对数据库中的数据进行添加,修改。我编出的的添加新行的语句如下:
IF EXISTS (SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'AND ROUTINE_NAME='udpInsertUpdateDeleteSamples')
DROP PROCEDURE udpInsertUpdateDeleteSamples
GO

CREATE PROC udpInsertUpdateDeleteSamples
AS
INSERT INTO vewA
(A_NUM,A_NAME)
VALUES (1,'小强')

GO

对语句进行执行的时候,没有错误发生,但每次执行完了再到数据库中去看的时候这些数据都没有加进去,看了下书,好像是说需要用EXEC语句执行一下。请问:
1.在此处的EXEC语句怎么写?
2.给我讲一下EXEC语句的基本知识?
3.当我实现其他目的比如修改数据时,这个EXEC语句又要怎么写?
十分感谢!
但是我把语句执行了之后,第一次是可以的,数据也添加进去了,但是我第二次执行的时候,就出错了:
服务器: 消息 2627,级别 14,状态 1,过程 udpInsertUpdateDeleteSamples,行 4
违反了 PRIMARY KEY 约束 'PK_ST_PRM'。不能在对象 'ST_PRM' 中插入重复键。
语句已终止。

ST_PRM是我的表名。

你先调试一下
<br><br><br>你上边的代码并没有执行啊?还是没 贴出来
<br><br>数据库必须经过刷新才能看到,如果不想去刷新,直接在
<br><br>执行 存储过程后,写个select 语句,看一下,
<br><br><br>
<br><br><br>exec udpInsertUpdateDeleteSamples
<br><br><br>select * from table
<br><br><br>肯定可以执行。
<br><br><br>
<br><br><br>
<br>------------------------------------------------
<br>你可能设置了 主键约束
<br>插入了重复的值
<br>肯定告诉你不能插入重复的值
<br>还有 存储过程 建立后就 存在了,
<br>除非删掉重建一个插入
<br>说白了,你非要想用存储过程插入数据,那么只能重建一个。注意不要重名。
其实你已经懂了怎么建存储过程,没必要再写了。呵呵