当前位置:编程学习 > C#/ASP.NET >>

SQL SERVER 2000 数据库中定义存储过程修改表结构给表添加列时出现的不可预料错误

use student1
create procedure AddLesn @lesn int
as 
alter table StuGrd
add @lesn int null
go

服务器: 消息 111,级别 15,状态 1,行 2
'CREATE PROCEDURE' 必须是批查询中的第一条语句。
服务器: 消息 170,级别 15,状态 1,行 5
第 5 行: '@lesn' 附近有语法错误。

错在什么地方了?
--------------------编程问答-------------------- 第一个消息很明显:
和第二个语句:
create procedure AddLesn @lesn int
as 
alter table StuGrd
add @lesn int null
go
只能作为批量语句中的第一句来执行,就是不能放在use student1
之后...

//创建存储过程、或创建视图、或创建触发器语句块在批量语句中必须作为第一句. --------------------编程问答-------------------- 创建存储过程的语句必须是第一条,所以你应该去掉 use 语句,而且有些语句是不能在存储过程里执行的,如create database --------------------编程问答-------------------- 那怎么怎么知道是在哪个地方创建数据库的? --------------------编程问答-------------------- 很简单,分两次执行,每次只执行一条:
1.
use student1

2.
create procedure AddLesn @lesn int
as 
alter table StuGrd
add @lesn int null --------------------编程问答-------------------- create procedure AddLesn @Lesn nvarchar(20)
as
alter table StuGrd 
add @Lesn int null 
服务器: 消息 170,级别 15,状态 1,过程 AddLesn,行 4
第 4 行: '@Lesn' 附近有语法错误。
哪个地方错了? --------------------编程问答-------------------- 是不是要这样写啊
create procedure AddLesn 
(
 @Lesn nvarchar(20)
)
as 
alter table StuGrd
add @Lesn int null
--------------------编程问答-------------------- [add   @lesn   int   null ] 这个地方吧
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,