Must declare the scalar variable “@değişken” hatasının çözümü
Bu hatayı çalıştırdığımız scriptte değişken varsa ve bu değişken’i tanımlamamışsak alırız.
Örneğin aşağıdaki script yardımıyla denemeveri veritabanında kolonsize isminde bir tablo oluşturalım.
USE [denemeveri] GO CREATE TABLE [dbo].[kolonsize]( [veritabanı_adı] [varchar](10) NULL, [kullanıcı_adı] [varchar](10) NULL, ) ON [PRIMARY]
Daha sonra bu tabloya aşağıdaki gibi bir insert yapmaya çalışalım.
INSERT INTO [denemeveri].[dbo].[kolonsize] ([veritabanı_adı] ,[kullanıcı_adı]) VALUES (@loginname,@databasename) GO
Bu şekilde insert yapmaya çalıştığımızda aşağıdaki gibi bir hata alacağız.
Script’imizi gerekli değişkenleri tanımlayıp set ettikten sonra aşağıdaki şekilde tekrar çalıştırdığımızda sorunun düzeldiğini göreceksiniz.
declare @loginname varchar(50) declare @databasename varchar(50) set @loginname =(select top 1 name from sys.sql_logins) set @databasename = (select top 1 name from sys.databases) INSERT INTO [denemeveri].[dbo].[kolonsize] ([veritabanı_adı] ,[kullanıcı_adı]) VALUES (@loginname,@databasename) GO