sql写一个插入数据的存储过程,这样写对吗?

alter procedure [dbo].[p_Products_InsertNew]@ProductsName varchar(20),@TypeID int,@BrandID int,@Color varchar(20),@Weight varchar(20),@Spec varchar(20),@Cost money,@ProductsUints varchar(20),@Material varchar(20),@UpperLimit int,@LowerLimit int,@BeginEnterDate varchar(20),@FinalEnterDate varchar(20),@LatelyOFSDate varchar(20),@UnshelveDate varchar(20),@LoadingDate varchar(20),@Description varchar(200),@Price money,@ProductsCode varchar(50),@ProductsBarCode varchar(50)asdeclare @Num intinsert into t_Products(ProductsName,TypeID,BrandID,Color,Weight,Spec,Cost,ProductsUints,Material,UpperLimit,LowerLimit,BeginEnterDate,FinalEnterDate,LatelyOFSDate,UnshelveDate,LoadingDate,[Description],Price,ProductsCode,ProductsBarCode)values(@ProductsName,@TypeID,@BrandID,@Color,@Weight,@Spec,@Cost,@ProductsUints,@Material,@UpperLimit,@LowerLimit,@BeginEnterDate,@FinalEnterDate,@LatelyOFSDate,@UnshelveDate,@LoadingDate,@Description,@Price,@ProductsCode,@ProductsBarCode),

不是用values 是用select 而且你定义的@num 好像都没有用到
create procedure [dbo].[p_Products_InsertNew]
@ProductsName varchar(20),
@TypeID int,@BrandID int,
@Color varchar(20),
@Weight varchar(20),
@Spec varchar(20),
@Cost money,
@ProductsUints varchar(20),
@Material varchar(20), @UpperLimit int,
@LowerLimit int,
@BeginEnterDate varchar(20),
@FinalEnterDate varchar(20),
@LatelyOFSDate varchar(20),
@UnshelveDate varchar(20),
@LoadingDate varchar(20),
@Description varchar(200),
@Price money,
@ProductsCode varchar(50),
@ProductsBarCode varchar(50)
as
declare @Num int
insert into t_Products(ProductsName,TypeID,BrandID,Color,Weight,Spec,Cost,ProductsUints,Material,UpperLimit,LowerLimit,BeginEnterDate,FinalEnterDate,LatelyOFSDate,UnshelveDate,LoadingDate,[Description],Price,ProductsCode,ProductsBarCode)
select
@ProductsName,@TypeID,@BrandID,@Color,@Weight,@Spec,@Cost,@ProductsUints,@Material,@UpperLimit,@LowerLimit,@BeginEnterDate,@FinalEnterDate,@LatelyOFSDate,@UnshelveDate,@LoadingDate,@Description,@Price,@ProductsCode,@ProductsBarCode追问

插入语句不是insert into表名()values()吗?select可以吗?

追答

可呀啊
你可以试一试

追问

还是不对,报同样的错误

追答

哦,我写错 了应该是
insert 表名
select

温馨提示:内容为网友见解,仅供参考
无其他回答

如何在sql创建一条插入数据的存储过程
1、首先需要打开SQL Server Managment管理工具,新建一个表。2、然后在表中插入一些样例数据。3、接下来在SQL Server Managment中右键单击可编程性,选择新建存储过程。4、然后在SQL编写界面中编写SQL语句,注意这里的@name就是接收的输入参数。5、编写好存储过程,执行一下,就会在可编程性下面找到创建的...

pl\/sql写存储过程,怎么插入新数据
在存储过程中插入数据肯定用到sql语句,写好insert语句就好了。create or replace procedure p_insert_mt_jx(P_a1 in varchar2,P_a2 in varchar2,P_a3 in varchar2,P_a4 in varchar2)assql_str varchar2(100);beginsql_str:='insert into mt_jx (a1,a2,a3,a4) values ('||P_a1||',...

PL\/SQL?创建一个能向学生表student中插入一条记录的存储过程
3、在sql窗口中写新建表的sql,如下CREATE TABLE MYBAIDUJYLIST(JY_ID VARCHAR(200) NOT NULL,--唯一标识;JY_BH VARCHAR(200) NOT NULL,--编号。4、执行之后可写一个查询的sql,看一下这个表的创建效果select * from MYBAIDUJYLIST。5、在数据库预制一条数据,使用Insert方式插入INSERT INTO MYB...

何为存储过程,举例说明
存储过程,实际就是一段写在数据库中的代码。。由于此段数据库操作代码由服务器完成,而客户端只是进行简单的参数提交,所以,可以有效的利用服务器的强劲而减小对客户机的负合。如:你想插入一条数据到数据库。虽然你的要求是,先检查表里面是否己存在该项。如果不存在就Insert,如果存在就UPDATE。这个...

MySQL里面sql语句调用存储过程,该如何写?
这样:CREATE PROCEDURE sp_add(a int, b int,out c int)begin set c=a+ b;end;调用过程:call sp_add (1,2,@a);select @a;

存储过程怎么写啊
\/\/创建存储过程 CREATE PROCEDURE userData(IN id INT )BEGIN SELECT * from userdata WHERE userflag = id;END;其中IN是传进去的变量;drop procedure userData;\/\/销毁这个存储过程。call userData(2) \/\/调用存储过程。

存储过程能写这个查询吗
1、把存储过程的条件放在一处来写,这样使用整个存储过程条理更清晰、更优雅。2、解决了拼接出的SQL语句存在可有可无的条件,比如像1=1这样的条件。如果你有更好的写法,或者你觉得这样写有什么缺点,我也希望你能指正一下,希望大家能把一些好的东西分享出来,彼此共同成长。

SQL Server的存储过程怎么写?
SQL server中如何存储:首先准备数据,测试存储过程 use ssqadm;创建测试books表 create table books_test ( book_id int identity(1,1) primary key,book_name varchar(20),book_price float,book_auth varchar(10));插入测试数据 insert into books_test (book_name,book_price,book_auth)values ...

使用SQL语句创建存储过程
:2、然后,输入SQL语句。如下:CREATE PROCEDURE byroyalty1 @percentage int AS select au_id from titleauthor where titleauthor.royaltyper = @percentage GO 3、然后,点击确定之后,命令就会自动添加进查询中:4、然后执行一下刚输入的命令:5、最后,就可以在弹出的小窗口中查看存储过程了:...

sql server 中 一个要输入参数和输出参数的存储过程。
1、创建存储过程,包含入参、出参,返回入参除以的数据;create or replace procedure test_proc(in_num number, out_num out number)as begin out_num := in_num\/2;end;2、调用该函数,进行测试;入参为10,可以发现返回值是5;3、编写sql语句块,在语句块中调用存储过程;declare v1 number;...

相似回答