.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

Steps to alter function used as computed column

Posted By:      Posted Date: September 18, 2010    Points: 0   Category :Sql Server
What is the best way to change a function that is currently being referenced from a calculated column in a table?  I get the following error when I try to alter it.   Msg 3729, Level 16, State 3, Procedure fn_sdtAcctJoin2, Line 232 Cannot ALTER 'dbo.fn_sdtAcctJoin2' because it is being referenced by object 'tblMembers'.

View Complete Post

More Related Resource Links

How to alter computed Column in SQL Server

I have a table with around 50 columns and in this table most of them are computed columns

Now I have requirement to change the definition of one of the computed column


Previously : Net_Profit As (Column1+Column2+Column3+Column4)

Now it should be: : Net_Profit As (Column1+Column2+Column3+Column4+Column5)

Here what will be best way to solve this problem

Shall I create a script of whole table along data 
and drop previous one and execute new script with adding new column


There is other better way for this.

Actually I have very important data in this table which i cann't afford to loose at any cost

Filter by Computed Column



After looking for a driver to open legacy dbf drivers to connect, the next level trouble a have is this one:

first, i can retrieve the data but when trying to filter by a parameter (somesc columns) i get an error.

The error says about the database can't determine some blah blah!

The error is a columm tha is formated (  1234  ) about  8 space, fixed. The values in the query appears like that. I resolve this by Trimming Ltrim(ColumnName) and i get this (1234).

Now in SqlExpress, how can i filter by the new Trimmed Expression? (This is a primary key that the DBF use)


SELECT column1, column2, column3


SELECT Ltrim(column1) as NewExp, column2, column3
Where NewExpre = @NewExpres                  -Error-


Computed Column

This is the forst time i am going to work with computed columsn. Is there a way computed columns not store the data in the table? If yes, how would i build my query when creating a computed column? By using Persisted, does it mean that i am storing the values in the database or going to do calculations on the fly  Thanks

Datetime column with [Computed column specification] formula

i have a datetime field in my SQL Server table i dont want to add weekend dates in this column. For this reason i always have to check the calendar. how can i use [Computed column specification] formula so that i never add weekend dates?

computed column specification - When is it calculated?

on insert , select...?  It's better than Trigger? thanks.  

Error when using Computed Column

There are 2 errors that I  get when creating computed colums (Persisted) step1 first a created a UDF and i get the follwing error Msg 4512, Level 16, State 3, Procedure UdfGetMonthlyAmount, Line 77 Cannot schema bind function 'dbo.UdfGetMonthlyAmount' because name 'Subscriber.Reference.Period' is invalid for schema binding. Names must be in two-part format and an object cannot reference itself. It says there is a problem in this stmnt - SELECT @getFreqText = Name FROM Subscriber.Reference.Period WHERE Id = @frequencyId The UDF is as following: USE [Subscriber] GO /****** Object: UserDefinedFunction [dbo].[UdfGetMonthlyAmount] Script Date: 08/27/2010 12:55:00 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create FUNCTION [dbo].[UdfGetMonthlyAmount] -- #description Returns the Subscriber's customized Forecast date as defined in Subscriber table -- #tables Subscriber -- #parameter: @SubscriberId ( @frequencyId int, @amount money ) RETURNS money WITH SCHEMABINDING AS BEGIN DECLARE @getFreqText varchar(38) DECLARE @monthlyAmount money --AVG DAYS = (365/12) --AVG WEEKS DECLARE @avgDays money = 30.4167 DECLARE @avgWeeks money = 4.3452 SELECT @getFreqText = Name FROM Subscriber.Reference.Period WHERE Id = @frequencyId IF (@getFreqText = 'Daily') BEGIN SET @monthlyAmount = (SELECT ISNULL(@amount,0) * @avgDays) END ELSE I

Pipe SQL Query function into Variable with no column headings

Hello, I don't know if I'm in the right forum but could not find one for Powershell. I need to return 1 piece of data from a sql database to a variable. I don't want the column headings. Here's what I have so far:         Function GetMenuGroup ([int]$StoreID) { $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=Servername;Database=DatabaseName;Integrated Security=True" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = "exec storedProcedure $StoreID" $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet)|out-null $SqlConnection.Close() $DataSet.Tables[0] } $MG=Getdata 2 |out-string Here's the results I get now - How do I return just "DatathatIreallyWant" in a string variable? I don't want the column or underline. ColumnName ------------- DataThatIreallyWant   Thank you, MG2

Alter Table add column

Hi all, ALTER TABLE dbo.tbl_allocation ADD calc_method [decimal](38, 6) ADD allocation_percentage [decimal] (38, 6) when i run this i get the following message: incorrect syntax near decmial. please help

Schema comparer mistake in table-valued function (Nullability in column definition)

Hello. In my database i have table valued function. In its definition nullability of column is not set directly. This column has a user-defined data type. So the question is: is this column nullable? As i can see here: http://msdn.microsoft.com/en-us/library/ms174979.aspx   When column nullability is not explicitly specified, column nullability follows the rules shown in the following table. Column data type Rule Alias data type The Database Engine uses the nullability that is specified when the data type was created. To determine the default nullability of the data type, use sp_help. It should be not null, as user defined type is declared as not null. SMO says, that column is not null, but schema compare says it is nullable. Who is wrong and why?

How to create nonclustered index which uses function on column?

Hi, Is there any way I can perform following. The ID column is of varchar type.   CREATE NONCLUSTERED INDEX idxID ON Table_1(CAST(ID AS BIGINT) );   Regards, Jigs

how to set the computed column into inbuilt database into vs2008 ?

hi..i have designed a database into the vs 2008 mobile database.my batabase has three column column1(int),column2(int),column3(int) and i want to set the value of val(column3)=val(column1)+val(column2);how and where to set the computed column value.

Upgrading timestamp column to rowversion (alter table)

Hi, We are upgrading 2005 to 2008 and observed that time stamp data type is deprecated, and should be using rowversion instead. So I started doing alter table for a table with timestamp to rowversion and the alter table failed with the error "cannot alter column 'rv' to be data type timestamp. Can some one please let me know what I am missing here? thanks, Sivakumar

Column names in each view or function must be unique. Any Suggestions Please!!!!!!!!

I am getting this error when I am executing this view. But I am not getting this Error when parsing the query!!! Can some one help me with the issue. Create   view [PosSales_Transactions_Tenders_Extract] AS SELECT RT .RTL_TRN_ID, RT .STORE_NO, RT .WORKSTATION_NO, RT .RTL_TRN_NO, RT .RTL_TRN_TYPE_CODE, RT .AMOUNT, RT .OPERATOR_NO, RT .CUSTOMER_NO, RT .EMPLOYEE_NO, RT .BUSINESS_DATE, RT .BEGIN_DATETIME, RT .END_DATETIME, TLI .LINE_ITEM_NO, TLI .TENDER_TYPE_ID, TLI .TENDER_TYPE_CODE, TLI .TENDER_AMOUNT, TLI .CHANGE_FLG, TLI .SERIAL_NO, TLI .KEYED_FLG, TLI .EXCHANGE_RATE, TLI .FOREIGN_TENDER_AMT, TE .TENDER_TYPE_ID, TE .TENDER_TYPE_DESC FROM   dbo.RETAIL_TRANSACTION RT JOIN   dbo.TENDER_LINE_ITEM TLI ON   RT.RTL_TRN_ID = TLI.RTL_TRN_ID JOIN   dbo.TENDER TE ON   TLI.TENDER_TYPE_ID = TE.TENDER_TYPE_ID WHERE   RT.VOID_FLG = 0 AND RT .VOIDED_FLG = 0 AND RT .VOIDING_FLG = 0 AND RT .SUSPENDED_FLG = 0 AND RT .TRAINING_FLG = 0 Msg 4506, Level 16, State 1, Procedure PosSales_Transactions_Tenders_Extract, Line 4 Column names in each view or function must be unique. Column name 'TENDER_TYPE_ID' in view or function 'PosSales_Transactions_Tenders_Extract' is specified more than once.

Binding a computed value to datagrid column

Hi, I have a WPF Datagrid with tree colums (A, B,C) which are bound to an Observable collection. The value of C is C=A+B. The value of A and B are updated via an event that I have subscribed to ( a realtime data feed). What is the best way to update the value of C each and every time A or B get chaged ? I'm new to WPF and should I use a converter to achive this ? Thanks V

Alter a replicated column


Hi all,

I've a transactional replica scenario which basically has one pubblication (with some table) and a lot of subscriptions. All is working fine from some months. Now I've to alter a column of one of the replicated table: now it is a varchar(40) and it will be varchar(500). When I try to execute the sql script to alter that column I receive an error because the column is replicated. I think I've to drop all subscriptions, alter the column, rebuild the subscriptions. Is there a fast way?

Thank you all

computed column to update it with max(value)+1


HI ,

  i have a column match_id up till now i have inserted values in it,now i have to make it a computed column with formula on it.

   now i am not going to insert the value for match_id column ,insted of that when i insert a row in that table then value of match_id column should be max(match_id)+1 .

foe eg.

a  b   match_id

1 2  1200

4 3  1201

8 9  1202

now  when i iniser a=12 and b=56 then match_id should calculated as max(match_id)+1 i.e

1202+1=1203 ,i had already  used identity column so tell me how to achive it???




Cannot find either Column "dbo" or the user-defined function or aggregate "dbo.GetCandiateID", or th



Good morning to everybody. I am not understanding why I am getting the following error (also mentioned in the subject line).

I have written the following function in SQL Server 2005:

    declare @candidate_id int
    SELECT @candidate_id = max(c.candidate_id) from dbo.candidates c
    if(@candidate_id is null)
        set @candidate_id = 1001
        set @candidate_id = @candidate_id + 1
    return @candidate_id

The function compiled properly. I have used the above function like below in the query:

select dbo.GetCandidateID()

I am getting the following error:

Cannot find either column "dbo" or the user-defined function or aggregate "dbo.GetCandidateID", or the name is ambiguous

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend